Ich führe Unit-Tests auf einem CI-Server mit py.test aus. Tests verwenden externe Ressourcen, die über das Netzwerk abgerufen werden. Manchmal dauert Test Runner zu lange, was dazu führt, dass Test Runner abgebrochen wird. Ich kann die Probleme nicht lokal wiederholen.
Gibt es eine Möglichkeit, py.test dazu zu bringen, Ausführungszeiten von (langsamen) Tests auszudrucken, damit problematische Tests einfacher festgelegt werden können?
Ich bin mir nicht sicher, ob dies Ihr Problem lösen wird, aber Sie können bestehen --durations=N
um am langsamsten zu drucken N
Tests nach Abschluss der Testsuite.
Verwenden --durations=0
alles zu drucken.
Sie können die Nummer mit übergeben --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
Nehmen Sie Bezug auf: https://medium.com/@brianokken/pytest-durations-0-show-all-times-for-tests-and-setup-and-teardown-848dccac85db
Oder: https://docs.pytest.org/en/latest/usage.html#profiling-test-execution-duration