Grails 2.0.Xより前のバージョンでは、テストが拡張する基本クラスが提供するmockConfig
メソッドを使用して設定を模擬することができました。ただし、Grails 2.0.Xでは、テストクラスで基本クラスを拡張する代わりに@TestFor
mixinを使用することをお勧めします。Grailsテストの模擬設定
このmixinはmockConfig
メソッドに相当するものを提供していないようですので、Config.groovy
の値を模擬する方法を理解できません。
Grails 2.0.Xより前のバージョンでは、テストが拡張する基本クラスが提供するmockConfig
メソッドを使用して設定を模擬することができました。ただし、Grails 2.0.Xでは、テストクラスで基本クラスを拡張する代わりに@TestFor
mixinを使用することをお勧めします。Grailsテストの模擬設定
このmixinはmockConfig
メソッドに相当するものを提供していないようですので、Config.groovy
の値を模擬する方法を理解できません。
あなたが同じくらいあなたが必要として、これらの値を変更することができますので、あなたが
grailsApplication.config.some.config.setting = 'foo'
を行うことができますので、あなたは、grailsApplication.configへのアクセス権を持っています
mockConfig()はGrails 2.xではもう存在しないようです。これはどう:
def mockConfig = new ConfigObject()
mockConfig.some.config.setting = "foo"
def myService = new MyService()
myService.grailsApplication = [config: mockConfig]
は新しいGrailsの2.xのテストでスコープにすでにconfig
オブジェクトがありますようです。だから、その後、試験中の@TestFor
オブジェクトからアクセスできるようになります
config.some.config.setting = 'foo'
を言うのに十分です。
オブジェクトを手動で作成する必要がある場合は、config
オブジェクトが属するテストの範囲にgrailsApplication
オブジェクトも含まれます。だから、これは動作するはずです - (私はサービスをテストしていたときの場合には)、私はそれをこのようにやっている
config.some.config.setting = 'foo'
def myService = new MyService(grailsApplication:grailsApplication)
:
service.grailsApplication.config.mysetting = 'my value'
def result = service.myMethod()
// check results
必要はありませんその他のモックを。