Capítulo 2. Pruebas de homologación

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

Emily Bache

¿Has escrito alguna vez una aserción de prueba con una expectativa ficticia o en blanco? Algo así

assertEquals("", functionCall())

Donde functionCall devuelve una cadena y no estás seguro de cuál debe ser exactamente esa cadena, pero sabrás que es correcta cuando la veas? Cuando ejecutas la prueba la primera vez, por supuesto, falla porque functionCall devuelve una cadena que no está vacía. (Puede que tengas que hacer varios intentos, hasta que el valor de retorno parezca correcto.) Entonces pegas este valor en lugar de la cadena vacía en assertEquals. Ahora la prueba debería pasar. ¡Resultado! Eso es lo que yo llamaría una prueba de aprobación.

El paso crucial aquí es cuando decides que el resultado es correcto y lo utilizas como valor esperado. "Apruebas" un resultado: es lo suficientemente bueno como para conservarlo. Supongo que habrás hecho este tipo de cosas sin pensar realmente en ello. Quizá lo llames de otra manera: es también llamado prueba de instantáneas o prueba maestra dorada. En mi experiencia, si tienes un marco de pruebas diseñado específicamente para soportarlo, entonces muchas cosas encajan y probar de esta manera resulta más fácil.

Con un marco de pruebas unitario clásico como JUnit, puede ser ...

Get 97 cosas que todo programador Java debe saber now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.