2021-01-13 18:42:01
Мы тут намедни, то есть давеча, обсуждали с командой что нам делать с медленными python-тестами, которые приходится локально прогонять перед каждым PR. Можно оставить это на совести CI, конечно, но время ожидания никуда не денется, билд может упасть, а это читать логи, снова что-то коммитить, снова ждать зелёного светофора…
Ещё тесты можно пометить, запускать выборочно, параллельно и так далее, но где гарантия, что изменения не сломали что-то в других местах? Вот и сидишь, ждёшь, пока пройдут все. А это минуты, часы, месяцы жизни.
Мы пользуемся pytest со стандартным набором батареек:
pytest-xdist, pytest-flask, pytest-cov, pytest-benchmark, pytest-asyncio и прочее. Вот я и подумал, наверняка кто-то уже решил эту задачу, чтобы прогонять только те тесты, которые относятся к изменённому коду. Да, так и есть.
pytest-testmon is a pytest plugin which selects and executes only tests you need to run. Just works. Теперь make tests гоняет только необходимое.
А вы что посоветуете? Как пишет и гоняет тесты ваша команда?
1.9K views15:42