Mira el siguiente código simple y directo:
function sum(a, b) { return a b; }
Ahora, escribamos algunas pruebas para ello:
test('sum', () => { expect(sum(1, 2)).toBe(3); expect(sum(2, 3)).toBe(5); expect(sum(3, 4)).toBe(7); expect(sum(4, 5)).toBe(9); });
Tenemos una cobertura del 100%, ¿verdad? Bueno, sí, lo hacemos, de hecho podríamos decir que obtuvimos una cobertura del 400 % ya que todo el código se prueba completamente 4 veces, pero ¿lo tenemos?
La verdad es que no. Estamos probando la función con un conjunto limitado de entradas y no estamos considerando casos extremos ni estamos probando la función con entradas no válidas.
Considere lo siguiente:
sum(1, '2'); sum(1, null); sum(1, undefined);
¿Qué pasaría en tal escenario? ¿La función arrojaría un error? ¿Devolvería un valor? ¿Rompería nuestra aplicación?
La cobertura de pruebas es una herramienta poderosa, pero no es la solución definitiva. Es una métrica que puede ayudarle a comprender qué parte de su código se está probando, pero no le indica qué tan bien se está probando.
La cobertura de pruebas puede ayudarle con la cantidad, pero poco puede hacer con la calidad. Depende de usted escribir buenas pruebas, considerar casos extremos, probar su código con entradas no válidas y asegurarse de que sus pruebas sean significativas y valiosas.
Este fue un artículo bastante breve, lo admito, aún así, espero que te haya resultado útil como recordatorio de la importancia de escribir buenos exámenes. Recuerde, la cobertura de la prueba es una herramienta, no un objetivo. Depende de usted aprovecharlo al máximo.
Ciao,
Miguel.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3