J'exécute des tests unitaires sur un serveur CI en utilisant py.test. Les tests utilisent des ressources externes récupérées sur le réseau. Parfois, le testeur prend trop de temps, ce qui entraîne l'interruption du testeur. Je ne peux pas répéter les problèmes localement.
Existe-t-il un moyen de faire en sorte que py.test imprime les temps d'exécution des tests (lents), afin de localiser plus facilement les tests problématiques?
Je ne suis pas sûr que cela résoudra votre problème, mais vous pouvez passer --durations=N
pour imprimer les tests N
les plus lents après la fin de la suite de tests.
Vous pouvez passer le numéro avec --durations
pytest --durations=0 — Show all times for tests and setup and teardown
pytest --durations=1 — Just show me the slowest
pytest --durations=50 — Slowest 50, with times, … etc
Prendre référence dans: https://medium.com/@brianokken/pytest-durations-0-show-all-times-for-tests-and-setup-and-teardown-848dccac85db
Ou: https://docs.pytest.org/en/latest/usage.html#profiling-test-execution-duration