Бесполезный выход из Pytest - PullRequest
0 голосов
/ 13 июня 2018

TLDR: Как я могу получить лучший результат от pytest?

Я использую Django с регулярными юнит-тестами python3.Я только что переключился на pytest-django для запуска тестов.

pytest выдает ошибку почти для всех моих тестов (всего 149).Страницы и страницы с этой ошибкой.

self = <RegexURLResolver 'project.urls' (None:None) ^/>

    @property
    def reverse_dict(self):
        language_code = get_language()
        if language_code not in self._reverse_dict:
            self._populate()
>       return self._reverse_dict[language_code]
E       KeyError: 'en-us'

Что не было проблемой.Это привело меня к неправильному пути.

У меня была синтаксическая ошибка в одном из моих views.py файлов../manage.py test привело к:

snip

Файл "/home/roland/project/views.py", строка 20 code = zip (list1, list2])

SyntaxError: неверный синтаксис

Обратите внимание на последнее: ], в котором возникла проблема.

Итак: Как получить более полезный вывод о проблемах при использовании pytest?

Кстати: после обнаружения этого и прокрутки обратно в вывод pytest было упомянуто о синтаксической ошибке.Он был просто похоронен на выходе.

1 Ответ

0 голосов
/ 18 июня 2018

Вы можете использовать опцию - maxfail = 1 , чтобы она немедленно остановилась при первом сбое.

Также убедитесь, что ваш pytest.ini настроен правильно, чтобы pytest знал, что он должен использовать django-pyest.

[pytest]
DJANGO_SETTINGS_MODULE='myapp.settings'

Для своего рабочего процесса я обычно делаю следующее:

  • run pytest --maxfail=1 myfile.py &> pytest-output.txt
  • tail, grep или поиск в текстовом файле ошибок.
  • Исправление и итерация

Существует множество других параметров конфигурации, которые помогут вам получить более значимый вклад от pytest.

...