Filosofía y orden de la prueba de unidad de Python
Frecuentes
Visto 352 veces
3
Si bien la filosofía de unittesting es que las pruebas se pueden ejecutar en cualquier orden y deberían pasar, ¿qué sucede si está implementando una API donde no hay otros medios para comunicarse con un servidor... y necesita probar una característica muy básica? (como eliminar) antes de poder realizar tareas más complicadas? ¿Es entonces razonable ordenar las pruebas?
Si es así, ¿cómo puedo hacerlo con python? unittest
¿módulo?
1 Respuestas
0
Ya parece darse cuenta de que sus pruebas unitarias deben ser independientes. La única otra razón por la que puedo ver que desea ejecutar las pruebas en un orden fijo es que desea dejar de ejecutar la suite si falla una prueba temprana. Para ello, puede utilizar el opción de línea de comandos
-f, --failfast
Detenga la ejecución de prueba en el primer error o falla.
Por cierto, las pruebas se ejecutan en orden alfabético:
el orden en el que se ejecutarán los distintos casos de prueba se determina ordenando los nombres de las funciones de prueba con respecto al orden incorporado para las cadenas.
respondido 09 mar '12, 17:03
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas python unit-testing or haz tu propia pregunta.
Elmar en stackoverflow.com/questions/4095319/unittest-tests-order parece dar una respuesta. - Niek de Klein
Para aclarar: ¿está diciendo que desea ejecutar primero la prueba de eliminación, porque no tiene sentido ejecutar las otras si falla? - Katriel
Incluso si esas primeras pruebas fallan, las pruebas posteriores con eliminación aún se ejecutarán, entonces, ¿cuál es el problema? - David Robinson
A grandes rasgos, "si las pruebas unitarias dependen de servicios externos u otras pruebas unitarias, no son pruebas unitarias". Suena un poco dogmático. Pero es una gran bandera roja. Si está probando una semántica dependiente compleja del propio servicio, es probable que desee encapsular todos esos "pasos" en una sola prueba. Pero eso se convierte en prueba de protocolo. Las pruebas unitarias realmente deberían ser independientes. - Michael Wilson
@ultimatebuster: lo que está tratando de hacer aquí es algún tipo de prueba de integración, no una prueba unitaria. - Niklas B.