使用 py.test 打印测试执行时间并确定慢速测试
Printing test execution times and pinning down slow tests with py.test
我正在 运行 使用 py.test 在 CI 服务器上进行单元测试。测试使用通过网络获取的外部资源。有时测试运行器花费的时间太长,导致测试运行器被中止。我无法在本地重复这些问题。
有没有办法让 py.test 打印出(慢)测试的执行时间,从而更容易确定有问题的测试?
我不确定这是否能解决您的问题,但您可以传递 --durations=N
以在测试套件完成后打印最慢的 N
测试。
使用--durations=0
打印全部。
您可以通过 --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://docs.pytest.org/en/latest/usage.html#profiling-test-execution-duration
我正在 运行 使用 py.test 在 CI 服务器上进行单元测试。测试使用通过网络获取的外部资源。有时测试运行器花费的时间太长,导致测试运行器被中止。我无法在本地重复这些问题。
有没有办法让 py.test 打印出(慢)测试的执行时间,从而更容易确定有问题的测试?
我不确定这是否能解决您的问题,但您可以传递 --durations=N
以在测试套件完成后打印最慢的 N
测试。
使用--durations=0
打印全部。
您可以通过 --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://docs.pytest.org/en/latest/usage.html#profiling-test-execution-duration