Полезные плагины для pytest:
- pytest-repeat – позволяет запускать один тест много раз. Например, пока он не упадёт.
- pytest-randomly – перемешивает порядок тестов. Помогает отловить сайд-эффекты, когда один тест работает только если перед ним сработал другой (или наоборот, не работает).
- pytest-xdist – позволяет запускать тесты в несколько процессов.
- pytest-test-groups – возволяет запустить только часть процессов. Полезно на Gitlab CI для параллелизации.
Если используете pytest-test-groups вместе с pytest-randomly, то надо задать seed для последнего, чтобы тесты правильно распределились по группам. Вот пример для Gitlab CI:
stage: test
parallel: 4
script:
- >
pytest -vv
--test-group-count $CI_NODE_TOTAL
--test-group $CI_NODE_INDEX
--randomly-seed $CI_PIPELINE_ID```