Repaso
English
TestingIntermedioTST-07

Tu proyecto tiene 100% de cobertura de líneas. ¿Qué puedes concluir?

Opciones

  1. No queda ningún bug en el código
  2. Cada línea se ejecutó, pero los edge cases pueden no estar comprobados (Opción correcta)
  3. El mutation testing ya no hace falta
  4. Los tests son rápidos en todas las máquinas y en CI

Respuesta

Cada línea se ejecutó durante los tests, pero eso no significa que se comprobara el comportamiento ni que se cubrieran todas las ramas y edge cases

Por qué

La cobertura mide qué líneas se EJECUTARON durante los tests, no si se comprobaron los resultados. Un test sin assertions también produce cobertura.

Tampoco ve las combinaciones: una línea puede ejecutarse mientras una rama o entrada importante nunca se prueba.

La cobertura sirve para encontrar código sin probar, no para demostrar que es correcto.

Recuerda

La cobertura muestra qué se ejecutó, no qué se verificó.

Términos clave

Practica esta pregunta en Repaso