在 Grails 2.0.X 之前,可以使用mockConfig
由测试扩展的基类提供的方法来模拟配置。但是,在 Grails 2.0.X 中,建议测试类使用@TestFor
mixin 而不是扩展基类。
这个 mixin 似乎没有提供任何与mockConfig
方法等效的东西,所以我不知道如何在Config.groovy
.
在 Grails 2.0.X 之前,可以使用mockConfig
由测试扩展的基类提供的方法来模拟配置。但是,在 Grails 2.0.X 中,建议测试类使用@TestFor
mixin 而不是扩展基类。
这个 mixin 似乎没有提供任何与mockConfig
方法等效的东西,所以我不知道如何在Config.groovy
.
您可以访问 grailsApplication.config,因此您可以根据需要修改这些值,因此您可以这样做
grailsApplication.config.some.config.setting = 'foo'
我正在这样做(在我测试服务的情况下):
service.grailsApplication.config.mysetting = 'my value'
def result = service.myMethod()
// check results
不需要其他嘲笑。
似乎config
在新的 Grails 2.x 测试中已经有一个对象在范围内。所以说就够了
config.some.config.setting = 'foo'
然后可以从@TestFor
被测对象访问。
如果您需要手动创建对象,那么测试范围内还有一个grailsApplication
对象 - 该config
对象属于该对象。所以这应该工作 -
config.some.config.setting = 'foo'
def myService = new MyService(grailsApplication:grailsApplication)
看起来 mockConfig() 在 Grails 2.x 中不再存在。这个怎么样:
def mockConfig = new ConfigObject()
mockConfig.some.config.setting = "foo"
def myService = new MyService()
myService.grailsApplication = [config: mockConfig]