6

在 Grails 2.0.X 之前,可以使用mockConfig由测试扩展的基类提供的方法来模拟配置。但是,在 Grails 2.0.X 中,建议测试类使用@TestFormixin 而不是扩展基类。

这个 mixin 似乎没有提供任何与mockConfig方法等效的东西,所以我不知道如何在Config.groovy.

4

4 回答 4

9

您可以访问 grailsApplication.config,因此您可以根据需要修改这些值,因此您可以这样做

grailsApplication.config.some.config.setting = 'foo'
于 2013-12-30T10:19:27.010 回答
5

我正在这样做(在我测试服务的情况下):

service.grailsApplication.config.mysetting = 'my value'
def result = service.myMethod()
// check results

不需要其他嘲笑。

于 2013-02-15T03:16:12.170 回答
1

似乎config在新的 Grails 2.x 测试中已经有一个对象在范围内。所以说就够了

config.some.config.setting = 'foo'

然后可以从@TestFor被测对象访问。

如果您需要手动创建对象,那么测试范围内还有一个grailsApplication对象 - 该config对象属于该对象。所以这应该工作 -

config.some.config.setting = 'foo'
def myService = new MyService(grailsApplication:grailsApplication)
于 2012-07-03T09:47:29.587 回答
0

看起来 mockConfig() 在 Grails 2.x 中不再存在。这个怎么样:

    def mockConfig = new ConfigObject()
    mockConfig.some.config.setting = "foo"

    def myService = new MyService()
    myService.grailsApplication = [config: mockConfig]
于 2012-05-25T14:15:17.983 回答