У меня следующая структура каталогов:
main/
|setup.cfg
|foo.cfg
|tests/
|setup.cfg
|foo.cfg
|test_simple.py
И протестируем test_simple.py
:
from nose.tools import *
from nose.config import all_config_files, user_config_files
def test_singe():
print 'all:', all_config_files()
print 'user:', user_config_files()
assert_true(False)
От main/
я бегу nosetests tests/test_simple.py
и получаю:
all: ['setup.cfg']
user: []
Я думал, что либо all_config_files
, либо user_config_files
вернут все файлы конфигурации. Но я получаю только верхний setup.cfg
.
Согласно документам:
all_config_files()
Return path to any existing user config files, plus any setup.cfg
in the current working directory.
user_config_files()
Return path to any existing user config files
Я ожидаю, что файлы main/tests/*.cfg
будут найдены. Что случилось?
1 ответ
Согласно исходному коду, user_config_files
просто вернет конфигурации из домашней папки пользователя:
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))
all_config_files
вернет user_config_files
+ setup.cfg из корневого каталога (где вы запускаете тесты):
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
Надеюсь, это поможет.
Похожие вопросы
Новые вопросы
python
Python — это мультипарадигмальный многоцелевой язык программирования с динамической типизацией. Он предназначен для быстрого изучения, понимания и использования, а также обеспечивает чистый и унифицированный синтаксис. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Если у вас есть вопросы о версии Python, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas, NumPy) укажите это в тегах.