Wenn Sie Spock-Testfälle mit UnitSpec für Dienstklassen in einer Grails-Anwendung ausführen, wird grailsApplication als null zurückgegeben.
Fehler - Kann Eigenschaft 'config' nicht auf null-Objekt abrufen
Kann mir jemand sagen, wie man grailsApplication
beim Testen von Serviceklassen mit Spock konfiguriert.
Ich habe viel gegoogelt, aber mein Problem nicht gelöst.
Hier ist der Code.
def accountServiceMock = Mock(AccountService)
def accountClientService = new AccountClientService()
def setup(){
accountClientService.accountWS = accountServiceMock
accountClientService.basicAuthInterceptor = authenticatorServiceMock
}
def "Test account by status() " (){
setup:
def mockAccountStatus = "ACTIVE"
mockDomain(Account, [accountInstance])
accountClientService.grailsApplication = grailsApplication
when:
accountClientService.getAccountByStatus(mockAccountStatus) //Aufruf des Webdienstes durch Abrufen der URL aus der default.properties-Datei, die den Kontext enthält
then:
Account.count() != 0
where:
accountInstance = new Account(10L, "ACTIVE","1234", "firstName", "LastName")
}
In der AccountService-Klasse ruft die Methode getAccountByStatus() den Webservice mit der URL = grailsApplication.config.ACCOUNTWEBSERVICEURL auf, die sich in der default.properties-Datei befindet. Aber wenn ich den Spock-Testfall ausführe, wird ein Fehler geworfen
Kann Eigenschaft 'config' des Null-Objekts nicht abrufen