2012-05-24 16 views
6

Grails 2.0.Xより前のバージョンでは、テストが拡張する基本クラスが提供するmockConfigメソッドを使用して設定を模擬することができました。ただし、Grails 2.0.Xでは、テストクラスで基本クラスを拡張する代わりに@TestFor mixinを使用することをお勧めします。Grailsテストの模擬設定

このmixinはmockConfigメソッドに相当するものを提供していないようですので、Config.groovyの値を模擬する方法を理解できません。

答えて

6

あなたが同じくらいあなたが必要として、これらの値を変更することができますので、あなたが

grailsApplication.config.some.config.setting = 'foo' 
を行うことができますので、あなたは、grailsApplication.configへのアクセス権を持っています
0

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

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

    def myService = new MyService() 
    myService.grailsApplication = [config: mockConfig] 
1

は新しいGrailsの2.xのテストでスコープにすでにconfigオブジェクトがありますようです。だから、その後、試験中の@TestForオブジェクトからアクセスできるようになります

config.some.config.setting = 'foo' 

を言うのに十分です。

オブジェクトを手動で作成する必要がある場合は、configオブジェクトが属するテストの範囲にgrailsApplicationオブジェクトも含まれます。だから、これは動作するはずです - (私はサービスをテストしていたときの場合には)、私はそれをこのようにやっている

config.some.config.setting = 'foo' 
def myService = new MyService(grailsApplication:grailsApplication) 
4

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

必要はありませんその他のモックを。

関連する問題