2016-01-08 5 views
1

Я только начал использовать Django и использовал только PyTest для нескольких проектов, но я люблю их обоих.pytest-django не обнаруживает мои тесты, если явно не вызвано

Итак, я был рад открыть плагин pytest-django, который кажется невероятно простым и простым в использовании.

Per part 5 of the Django tutorial (Я работал над этим), я написал несколько тестов в mysite/polls/tests.py. Они работают безупречно со встроенным тестовым бегуном.

Итак, теперь с pytest и pytest-Джанго установлен, когда я бегу py.test внутри корня проекта, или py.test polls я ничего не получаю:

collected 9 items

Когда я явно ссылаться на мой файл с py.test polls/tests.py, я получаю цветной ожидаемый выход:

enter image description here

Что я пропустил? Я следил за настройкой письма, а Basic Usage docs плагина подтверждают, что простой py.test должен автоматически найти мои тесты. Почему их не нашли?

ответ

2

После именования pytest, попробуйте переименовать файл теста, чтобы: test_ [некоторые текст здесь] .py

Например: test_polls_unittests.py

Подробнее о pytest - тесты именовании here.

+0

Это сработало отлично. Переименовано 'tests.py' в' test_polls.py', и теперь все они автоматически обнаруживаются и запускаются командой 'py.test'. Спасибо! – ensminger

+0

Yay! Рад слышать :) – Tom

+0

В качестве альтернативы вы можете добавить 'python_files = tests.py test _ *. Py' в раздел' [pytest] 'файла' pytest.ini' вашего проекта. См. Вопрос [pytest-django/# 67] (https://github.com/pytest-dev/pytest-django/issues/67) и [соответствующие документы pytest] (http://docs.pytest.org/en /latest/example/pythoncollection.html#changing-naming-conventions). – Peterino