x__miller_x
@x__miller_x

Как запустить тесты Pytest параллельно по категориям?

Доброго дня!
Краткая предыстория проблемы:
есть куча тестов (методов), которые на данный момент сгруппированы по отдельным тест-комплектам (в виде отдельных файлов py):
*test_suite_1.py
**def test_case_1_1()
**def test_case_1_2()
...
*test_suite_2.py
**def test_case_2_1()
**def test_case_2_2()
...
Для параллельного исполнения я нашел плагин xdist.
Соответственно, при запуске pytest обходит все тесты по очереди, но параллельно при этом выполняются тесты сначала из test_suite_1.py и так далее..

Вопрос состоит в том, как можно заставить выполняться тесты параллельно по тест-комплектам (пакетам, пакам...)? Т.е., чтобы первый экземпляр браузера выполнял test_suite_1.py, второй - test_suite_2.py и так далее?

В документации xdist я не нашел (или не понял), как можно реализовать мою задачу. Может быть есть какие-то другие плагины или реализация этого способа в xdist?

PS: мой опыт в программировании и использовании pytest не так велик (=
  • Вопрос задан
  • 2158 просмотров
Решения вопроса 1
Вот серьезно нет в офф документации?
xdist
--dist=loadscope: tests will be grouped by module for test functions and by class for test methods, then each group will be sent to an available worker, guaranteeing that all tests in a group run in the same process. This can be useful if you have expensive module-level or class-level fixtures. Currently the groupings can’t be customized, with grouping by class takes priority over grouping by module. This feature was added in version 1.19.
--dist=loadfile: tests will be grouped by file name, and then will be sent to an available worker, guaranteeing that all tests in a group run in the same worker. This feature was added in version 1.21.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы