web-dev-qa-db-ja.com

py.testを使用して、テストの実行時間を出力し、遅いテストを特定します

Py.testを使用してCIサーバーで単体テストを実行しています。テストでは、ネットワーク経由で取得した外部リソースを使用します。テストランナーに時間がかかりすぎて、テストランナーが中断することがあります。ローカルで問題を繰り返すことはできません。

Py.testに(遅い)テストの実行時間を出力させる方法はありますか?

75
Mikko Ohtamaa

これで問題が解決するかはわかりませんが、--durations=Nテストスイートの終了後に最も遅いNテストを出力します。

115
Bruno Oliveira

--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

参照してください: https://medium.com/@brianokken/pytest-durations-0-show-all-times-for-tests-and-setup-and-teardown-848dccac85db

または: https://docs.pytest.org/en/latest/usage.html#profiling-test-execution-duration

3
Phuong