¿Por qué los tests no deben depender del orden de ejecución?
Opciones
- El orden siempre es alfabético, así que es seguro
- El orden puede cambiar; las dependencias ocultas causan fallos (Opción correcta)
- Hace que los tests vayan más lentos de lo debido
- pytest prohíbe los tests que dependen de un orden
Respuesta
El orden puede cambiar (ejecuciones en paralelo, orden aleatorio, ejecutar un test solo); las dependencias ocultas causan fallos difíciles de reproducir
Por qué
Si el test B solo pasa porque el test A creó antes unos datos, B falla al ejecutarse solo, en paralelo o en otro orden.
Cada test debe crear lo que necesita y limpiar después.
Plugins como pytest-randomly barajan el orden para revelar dependencias ocultas; pytest-xdist ejecuta los tests en paralelo.
Recuerda
Cada test debe funcionar solo y en cualquier orden.