2013-05-26 2 views
4

У меня есть дерево каталогов, который выглядит как:Предотвращение носа от обнаружения пакета с именем «настройка»?

$ find . -name '*.py' -ls 
1315965 4 -rw-rw-r-- 1 roy  roy   16 May 25 23:09 ./foo/__init__.py 
1445517 4 -rw-rw-r-- 1 roy  roy   16 May 25 23:09 ./foo/setup/__init__.py 

Когда я запускаю нос, он импортирует foo.setup, считает, что это приспособление, и попытки запустить его, в результате чего:

TypeError: Attribute setup of <module 'foo' from '/home/roy/play/nose/foo/__init__.pyc'> is not a python function. Only functions or callables may be used as fixtures. 

Есть ли способ сказать нос, чтобы не делать этого? Я попытался поставить __test__ = False как в foo/__init__.py, так и в foo/setup/__init__.py, ни в коем случае.

ответ

1

Вы попробовали флаг -I (--ignore-files) в командной строке?

+0

Кажется, что это сработает, спасибо. Как оказалось, мы закончили реорганизацию дерева кода, чтобы избежать этой проблемы, но я буду держать в виду --ignore-файлы в следующий раз, когда он появится. –

+0

Для меня я использовал './manage.py test --ignore-files setup.py' Спасибо! – Montaro

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