Recomendado por Facundo Olano en su post. https://olano.dev/blog/unit-testing-principles/
Ver libro online, hosteado en Cloudflare R2. Hypothesis link para ver las anotaciones aquí
¿Qué es Branch Coverage? A:¿Cuánto cubre el test? De los If-Else-Switch-Statements o todos los Conditions Like en todos esos caminos.
Q: ¿Cuáles son posibles problemas que el Branch Coverage no puede cubrir? A: No puedes garantizar que el test verifique todos los posibles resultados del programa. Tampoco puede cubrir el comportamiento de librerías externas.
Q:¿Por qué no puedes garantizar que se verifique en todos los casos posibles con la métrica o sea con el testing? A: porque explícitamente tienes que verificar cuál es el input y cuál es el output del test para poder verificar si realmente es lo que esperas.
Q, dos puntos. ¿Por qué no puedes cubrir el compartimiento de librerías externas con testing? Enter. Ah, dos puntos. Ya que no conoces la implementación under the hood de las librerías. Por ejemplo, el método parse de .NET o de Java tienen ciertas branches que no se ven de manera externa en el módulo, por lo que no tienen ninguna forma realmente de testear el resultado.
¿Qué es lo que hace una buena suite de test? Según el autor. Está integrado en el development CI-CD. Solamente se enfoca en las partes más importantes del sistema y otorga el máximo valor con la mínima cantidad de mantención técnica.
¿En qué parte del sistema debería enfocarse de Runic Testing? A, dos puntos. En las partes más críticas del sistema. Aquella que contiene la lógica de negocios por el domain model.
¿Cuál es la definición de unit test según el libro? A, dos puntos. Un unit test es It verifies a small piece of code. Does it quickly. And does it in an isolated manner.
¿Qué es un test double a dos puntos? Es un objeto que reemplaza una dependencia real en un test. Básicamente es una especie de moco, puede ser un stuff también.
¿Por qué un test double? Para realmente testear algo en aislamiento, si una clase tiene una dependencia de otra o múltiples, es necesario reemplazar estas con test doubles.