Покрытие Pytest с django выдает неверный результат при параллельном запуске
Когда я запускаю свой набор тестов с параллельным выполнением, я получаю различные результаты по сравнению с запуском только одной программы запуска тестов.
Я попробовал два подхода, и оба не дали должных результатов. Эти команды давали либо только один частичный результат, либо меньше, чем у нас было запущено.
Я пробовал с покрытием и pytest вместе:
COVERAGE_PROCESS_START=./my_app coverage --parallel-mode --concurrency=multiprocessing run -m pytest -m "not e2e" -n 4
Также с помощью pytest и pytest-cov:
pytest -m "not e2e" -n 4 --cov=my_app
Во втором случае также была проблема, что некоторые templatetags не воспринимались как зарегистрированные, хотя другие в том же каталоге были зарегистрированы.
После их выполнения я выполнил coverage combine
и coverage report
. При параллельном выполнении результаты всегда неполные, по сравнению с выполнением только с одним тестовым бегуном, который работает совершенно нормально:
coverage run -m pytest -m "not e2e"
Это мой coveragerc:
[run]
include = my_app/*
omit = *migrations*, *tests*
plugins =
django_coverage_plugin
[report]
show_missing = true
Кто-то знает, как получить правильные результаты покрытия при параллельном запуске pytest?