Repaso
English
TestingIntermedioTST-16

¿Por qué los tests no deben depender del orden de ejecución?

Opciones

  1. El orden siempre es alfabético, así que es seguro
  2. El orden puede cambiar; las dependencias ocultas causan fallos (Opción correcta)
  3. Hace que los tests vayan más lentos de lo debido
  4. 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.

Términos clave

Practica esta pregunta en Repaso