Grails アプリケーションのサービス クラスに UnitSpec を使用してスポック テスト ケースを実行すると、grailsApplication が null として取得されます。
Error - Cannot get property 'config' on null object
grailsApplication
サービスクラスのスポックテスト中に設定する方法を教えてください。
私はたくさんグーグルで検索しましたが、私の問題は解決しませんでした。
これがコードです。
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) //calling web service by fetching url from default.properties file which is context
then:
Account.count() != 0
where:
accountInstance = new Account(10L, "ACTIVE","1234", "firstName", "LastName")
}
AccountService クラスの getAccountByStatus() メソッドで、url = grailsApplication.config.ACCOUNTWEBSERVICEURL を使用して webservice を呼び出します。これは default.properties ファイルにありますが、スポック テスト ケースを実行すると、次のようなエラーがスローされます。
null オブジェクトのプロパティ 'config' を取得できません