Сначала запустите новые тесты (почти) - PullRequest
0 голосов
/ 20 мая 2018

Я использую pytest .Мне нравится способ, которым я вызываю pytest (сначала повторите неудачные тесты, подробно, захватить и показать последовательный вывод, остановить при первом сбое):

 pytest --failed-first -v -s -x

Однако есть еще одна вещь, которую я хочу:

Я хочу, чтобы pytest запустил новые тесты (т. Е. Тесты, которые никогда не тестировались ранее) сразу после - первые-неудачные .Таким образом, при работе с тестами, которые долго выполняются, я получу наиболее релевантную информацию как можно скорее.

Есть ли способ сделать это?

1 Ответ

0 голосов
/ 20 мая 2018

Возможно, это не совсем то, о чем вы спрашиваете, но, насколько я понимаю, порядок выполнения тестов важен для вас, когда вы создаете новые тесты во время разработки.

Поскольку вы уже работаете с этими "новыми" тестами, плагин pytest-ordering может быть хорошим вариантом для рассмотрения.Это позволяет вам влиять на порядок выполнения, декорируя ваши тесты с помощью декораторов @pytest.mark.first, @pytest.mark.second и т. Д.


pytest-ordering может изменять порядок выполнения с помощью pytest_collection_modifyitems крюк .Существует также плагин pytest-random-order, который также использует тот же хук для управления / изменения ордера.

Вы также можете задать свой собственный хук и настроить его в соответствии с вашими требованиями.конкретные потребностиНапример, здесь для перестановки тестов используется другой хук:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...