2013-07-26 86 views
1

從這使用鼻子,我怎麼檢索已通過命令行配置文件列表運行測試的代碼獲取的使用的配置文件列表(不解析ARGS自己因爲鼻子應該公開這些值地方),如,從鼻子

nosetests -c default.ini -c staging.ini 

那麼這將導致,

[default.ini, staging.ini] 

我似乎無法找到nose.config對象上的這些值。

+1

您是否嘗試過'nose.config.user_config_files()'或'nose.config.all_config_files()'? –

+0

我有,他們都空着。 – sowa

回答

1

好像你的問題是,你命名你的配置文件不同的比默認的鼻子配置文件應該被命名。

從nose.config

config_files = [ 
    # Linux users will prefer this 
    "~/.noserc", 
    # Windows users will prefer this 
    "~/nose.cfg" 
    ] 

def user_config_files(): 
    """Return path to any existing user config files 
    """ 
    return filter(os.path.exists, 
        map(os.path.expanduser, config_files)) 


def all_config_files(): 
    """Return path to any existing user config files, plus any setup.cfg 
    in the current working directory. 
    """ 
    user = user_config_files() 
    if os.path.exists('setup.cfg'): 
     return user + ['setup.cfg'] 
    return user 

短的這是,那個鼻子尋找一個名爲〜/ .noserc或〜/ nose.cfg默認的配置文件。如果他們不叫這樣的鼻子不會接他們,你將不得不手動指定配置文件的名稱,就像你在命令行上做現在

說比如你有一些對象配置這是nose.config.Config實例然後讓你的配置文件名最好的辦法是說

>>> from nose.config import Config 
>>> c = Config() 
>>> c.configure(argv=["nosetests", "-c", "foo.txt"]) 
>>> c.options.files 
['foo.txt']