Estoy ejecutando pruebas unitarias en un servidor CI usando py.test. Las pruebas utilizan recursos externos obtenidos a través de la red. A veces, el corredor de prueba tarda demasiado, lo que hace que se cancele. No puedo repetir los problemas localmente.
¿Hay alguna manera de hacer que py.test imprima los tiempos de ejecución de la prueba (lenta), para que sea más fácil identificar las pruebas problemáticas?
Bruno Oliveira
No estoy seguro de que esto resuelva tu problema, pero puedes pasar --durations=N
para imprimir lo más lento N
pruebas después de que finalice el conjunto de pruebas.
Usar --durations=0
para imprimir todo.
-
¿Sabe si existe la posibilidad de agregarlo al informe de cobertura HTML generado? Similar a agregar
.coveragerc
archivo con el contenido[run] branch = True
agrega información de cobertura de sucursales?– Martín Tomas
30 de agosto de 2018 a las 11:03
-
Deberá agregar esa información usted mismo, pytest-html tiene soporte para insertar contenido adicional.
–Bruno Oliveira
31 de agosto de 2018 a las 12:07
-
@oLas: Eso no es cierto: si las pruebas son “demasiado rápidas”, el tiempo medido aparentemente puede convertirse en 0 y aún se filtrarán. Un umbral negativo tampoco ayuda en este caso. Otra molestia con este enfoque es que pytest siempre imprimirá
(0.00 durations hidden. Use -vv to show these durations.)
que no tiene ningún sentido.– bluenote10
28 de noviembre de 2018 a las 16:57
-
@ bluenote10 no estoy seguro si esto es algo que se agregó más tarde, ya que ahora es 2021 pero con
--durations-min=N
puede establecer la duración mínima en segundos para su inclusión en la lista de los más lentos. El valor predeterminado es 0.005, por lo que incluso –durations=0 no mostrará ninguno por debajo de 0.005 a menos que establezca un valor paradurations-min
– javrd
18 oct 2021 a las 15:36
Puedes pasar el número con --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
Tomar referencia en: https://medium.com/@brianokken/pytest-durations-0-show-all-times-for-tests-and-setup-and-teardown-848dccac85db
O: https://docs.pytest.org/en/latest/usage.html#profiling-test-execution-duration