2011-07-15 9 views
2

grails 1.3.7では、コントローラのConfigurationHolderでいくつかの外部プロパティにアクセスします。周りグーグルでは、私はユニットテストのセットアップで次のように使用することができます示唆している:私のユニットテストを実行grailsコントローラのユニットテストの模擬設定

mockConfig ''' 
     sys.admin.username = "username" 
     sys.admin.password = "password" 
    ''' 

ConfigruationHolder.configがnullです。だから、より多くの設定でこれをしようとする私を導くグーグル:

def mockedConfig = new ConfigObject() 
    mockedConfig.sys.admin.username = "username" 
    mockedConfig.sys.admin.password = "password" 
    ConfigurationHolder.config = mockedConfig 

はまだユニットテストでヌルconfigオブジェクトを取得。また、私は、この最初のスタイルのためのhiearctical構文を試してみましたが、それはどちらか動作しませんでした:

mockConfig(''' 
     sys { admin { 
      username = 'username' 
      password = 'password' 
     } } 
    ''') 

私はこれを通じて自分の道をつまずきていますし、私のコントローラユニットは、検査を受けるしたいと思いますので、私はGrailsのに新しいです。ヌル設定オブジェクトをどうやって取得するのですか?

答えて

2

ああを、それはタイミングの問題でした。私は私のコントローラークラス内の構成保持者への参照を持っていた:

def config = ConfigurationHolder.config 

これは必要な方法の中で動く。

+0

同じ問題が発生しました。遠慮なく私を助けてくれてありがとう。 問題をよく理解しましたか?私はしませんでした。あなたが説明できるなら –

0

あなたはこれを試してみました:

import org.codehaus.groovy.grails.commons.ConfigurationHolder as CH 

.... 


def username = CH.config.sys.admin.username 
def password = CH.config.sys.admin.password 
関連する問題