У меня есть приложение Pylons 1.0 с кучей тестов в каталоге test / functions. Я получаю странные результаты теста и хочу просто запустить один тест. В документации к носу сказано, что я должен быть в состоянии передать имя теста в командной строке, но я получаю ImportErrors независимо от того, что я делаю
Например:
nosetests -x -s sometestname
дает:
Traceback (most recent call last):
File "/home/ben/.virtualenvs/tsq/lib/python2.6/site-packages/nose-0.11.4-py2.6.egg/nose/loader.py", line 371, in loadTestsFromName
module = resolve_name(addr.module)
File "/home/ben/.virtualenvs/tsq/lib/python2.6/site-packages/nose-0.11.4-py2.6.egg/nose/util.py", line 334, in resolve_name
module = __import__('.'.join(parts_copy))
ImportError: No module named sometestname
Я получаю ту же ошибку для
nosetests -x -s appname.tests.functional.testcontroller
Какой правильный синтаксис?
appname.tests.functional.test_controller.name_of_test_method
.module.path:ClassNameInFile.method_name
, то есть с двоеточием, разделяющим путь к модулю / файлу и объекты внутри файла.module.path
это относительный путь к файлу (напримерmy_tests.py:ClassNameInFile.method_name
), а не путь, который вы бы использовали вimport
выраженииДля меня, использующего Nosetests 1.3.0, эти варианты работают (но убедитесь, что они есть
__init__.py
в папке с тестами):Обратите внимание, что двоеточие между именем модуля и именем класса.
источник
Я должен добавить расширение ".py", то есть
Может быть, это потому, что у меня нет никаких классов в файле. Без той
.py
, нос жаловался:И это, хотя у меня есть
__init__.py
в папке/path_to/
.источник
Я написал этот небольшой сценарий, основываясь на предыдущих ответах:
источник
Следующее сработало для меня просто хорошо:
Обратите внимание, что мои тесты, где не в классе. Методы испытаний были в одном файле.
источник