6

Grails 2.0.Xより前はmockConfig、テストが拡張する基本クラスによって提供されるメソッドを使用して構成をモックすることが可能でした。ただし、Grails 2.0.Xでは、テストクラス@TestForで基本クラスを拡張する代わりにミックスインを使用することをお勧めします。

このミックスインはメソッドに相当するものを提供していないようです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新しいGrails2.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

Grails 2.xにはmockConfig()が存在しないようです。これはどう:

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

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