我需要获取消息源才能访问 message.properties
简单的 groovy 类(异常类)中的文件,以便我使用 Holders.getGrailsApplication()
.我的问题是 Holders.getGrailsApplication()
当我执行单元测试用例时变为空。如果我将它部署在 Web 服务器中,它工作正常。
多变的 :-
static def grailsApplicationCntx=Holders.getGrailsApplication().getMainContext().getBean(‘messageSource’)
错误:-
`Failure: testActivateService_Case1(com.xyz.ActivationServiceTests)
| java.lang.ExceptionInInitializerError
at java.lang.Class.forName(Class.java:186)
at com.xyz.DatabaseService.addBankUser(DatabaseService.groovy:11)
at com.xyz.RegisterService.register(RegisterService.groovy:39)
at com.xyz.ActivationServiceTests.setUp(ActivationServiceTests.groovy:60)
Caused by: java.lang.NullPointerException: Cannot invoke method getMainContext() on null object
at com.xyz.exception.Exception.(Exception.groovy:55)
… 4 more
最佳答案
我认为不需要注入(inject)messageSource。它已经在那里可用。只需使用
messageSource.addMessage("foo.bar", request.locale, "My Message")
关于unit-testing - Grails 单元测试面临的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28215520/