2014-11-02 3 views
0
def __init__(): 
    with open("config.yaml", 'r') as yamlfile: 
     cfg = yaml.load(yamlfile) 
     self.obj = TestMe(cfg.get("general", "user"), cfg.get("general", "passwd") 

Мой YAML файл выглядит следующим образомОшибка с помощью конфигурационного файла YAML с nosetests Python

general: 
    user : admin 
    passwd : admin 

Я запустить тест, как этот

"nosetests test.py --exe --with-xunit --tc-file config.yaml" 

я получаю следующее сообщение об ошибке:

Traceback (most recent call last): 
    File "/usr/local/bin/nosetests", line 9, in <module> 
    load_entry_point('nose==1.3.3', 'console_scripts', 'nosetests')() 
    File "/usr/local/lib/python2.7/site-packages/nose/core.py", line 121, in __init__ 
    **extra_args) 
    File "/usr/local/lib/python2.7/unittest/main.py", line 94, in __init__ 
    self.parseArgs(argv) 
    File "/usr/local/lib/python2.7/site-packages/nose/core.py", line 145, in parseArgs 
    self.config.configure(argv, doc=self.usage()) 
    File "/usr/local/lib/python2.7/site-packages/nose/config.py", line 346, in configure 
    self.plugins.configure(options, self) 
    File "/usr/local/lib/python2.7/site-packages/nose/plugins/manager.py", line 284, in configure 
    cfg(options, config) 
    File "/usr/local/lib/python2.7/site-packages/nose/plugins/manager.py", line 99, in __call__ 
    return self.call(*arg, **kw) 
    File "/usr/local/lib/python2.7/site-packages/nose/plugins/manager.py", line 167, in simple 
    result = meth(*arg, **kw) 
    File "/usr/local/lib/python2.7/site-packages/testconfig.py", line 129, in configure 
    options.testconfigencoding) 
    File "/usr/local/lib/python2.7/site-packages/testconfig.py", line 40, in load_ini 
    tmpconfig.readfp(f) 
    File "/usr/local/lib/python2.7/ConfigParser.py", line 324, in readfp 
    self._read(fp, filename) 
    File "/usr/local/lib/python2.7/ConfigParser.py", line 512, in _read 
    raise MissingSectionHeaderError(fpname, lineno, line) 
ConfigParser.MissingSectionHeaderError: File contains no section headers. 
file: test_config.yaml, line: 1 
u'general:\n' 

Я запутался, потому что на Python CLI я могу читать t он файл без каких-либо проблем ..?!

ответ

1

docs Предположим, что нос-testconfig принимает файл INI по умолчанию. Вам нужно явно указать носу, что это файл YAML:

nosetests test.py --exe --with-xunit --tc-file config.yaml --tc-format yaml 
+0

Thanks Marshall Ward. Это сработало хорошо! Интересно, почему я никогда не замечал этого ни в одном, что читал? !! – user2921139

Смежные вопросы