在Grails應用程序中使用UnitSpec for service class運行spock測試用例時,將grailsApplication設置爲null。無法在空對象上獲取屬性「配置」 - Grails服務Spock測試
Error - Cannot get property 'config' on null object
有人可以告訴我如何配置grailsApplication
,而spock測試服務類。
我google了很多,但沒有解決我的問題。
這是代碼。
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")
}
在帳戶服務類getAccountByStatus()方法調用與web服務的url = grailsApplication.config.ACCOUNTWEBSERVICEURL這是有default.properties中的文件 但是當我運行斯波克測試情況下,拋出錯誤,如
無法獲得財產 '配置' 空對象
您可以發佈您的測試代碼,也許有助於看看發生了什麼事情。 – 2013-03-14 13:52:42
哪個Grails版本?哪個Spock版本? – 2013-03-15 06:32:54
你在做單元測試或集成測試嗎?通過它的外觀,你想做一個集成測試。如果這是真的看這裏http://grails.org/doc/2.2.0/guide/single.html#integrationTesting正確實施測試 – Bart 2013-03-15 14:16:36