Grails 2.0.Xより前はmockConfig
、テストが拡張する基本クラスによって提供されるメソッドを使用して構成をモックすることが可能でした。ただし、Grails 2.0.Xでは、テストクラス@TestFor
で基本クラスを拡張する代わりにミックスインを使用することをお勧めします。
このミックスインはメソッドに相当するものを提供していないようですmockConfig
。そのため、で値をモックする方法がわかりませんConfig.groovy
。
Grails 2.0.Xより前はmockConfig
、テストが拡張する基本クラスによって提供されるメソッドを使用して構成をモックすることが可能でした。ただし、Grails 2.0.Xでは、テストクラス@TestFor
で基本クラスを拡張する代わりにミックスインを使用することをお勧めします。
このミックスインはメソッドに相当するものを提供していないようですmockConfig
。そのため、で値をモックする方法がわかりませんConfig.groovy
。
grailsApplication.configにアクセスできるため、これらの値を必要なだけ変更できるため、次のことができます。
grailsApplication.config.some.config.setting = 'foo'
私はそれをこのようにしています(私がサービスをテストしている場合):
service.grailsApplication.config.mysetting = 'my value'
def result = service.myMethod()
// check results
他のモックは必要ありません。
config
新しいGrails2.xテストでは、すでにスコープ内にオブジェクトがあるようです。だから言うだけで十分です
config.some.config.setting = 'foo'
@TestFor
その後、テスト対象のオブジェクトからアクセスできるようになります。
オブジェクトを手動で作成する必要がある場合grailsApplication
は、テストのスコープ内にオブジェクトもあります-config
オブジェクトが属します。だからこれはうまくいくはずです-
config.some.config.setting = 'foo'
def myService = new MyService(grailsApplication:grailsApplication)
Grails 2.xにはmockConfig()が存在しないようです。これはどう:
def mockConfig = new ConfigObject()
mockConfig.some.config.setting = "foo"
def myService = new MyService()
myService.grailsApplication = [config: mockConfig]