【问题标题】:Facing Issue with Unit testing in GrailsGrails 单元测试面临的问题
【发布时间】:2015-01-29 13:06:20
【问题描述】:

我需要获取消息源以访问简单 groovy 类(异常类)中的 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

【问题讨论】:

标签: unit-testing grails grails-2.0 spock


【解决方案1】:

我认为不需要注入messageSource。它已经在那里可用。只需使用

messageSource.addMessage("foo.bar", request.locale, "My Message")

【讨论】:

  • messageSource 在简单的 groovy 类中无法访问。
猜你喜欢
  • 2016-08-23
  • 1970-01-01
  • 2014-06-21
  • 1970-01-01
  • 1970-01-01
  • 2012-11-30
  • 1970-01-01
  • 2012-12-01
相关资源
最近更新 更多