I am running unit tests on a CI server using py.test. Tests use external resources fetched over network. Sometimes test runner takes too long, causing test runner to be aborted. I cannot repeat the issues locally.
Is there a way to make py.test print out execution times of (slow) test, so pinning down problematic tests become easier?
I’m not sure this will solve your problem, but you can pass
--durations=N to print the slowest
N tests after the test suite finishes.
--durations=0 to print all.
You can pass the number with
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