我需要获取messagesource以在简单的groovy类(Exception类)中获取访问message.properties
文件,以便我使用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
答案 0 :(得分:0)
我认为不需要注入messageSource。它已在那里可用。只需使用
messageSource.addMessage("foo.bar", request.locale, "My Message")