Con respecto al patrón de prueba clásico de Arrange-Act-Assert , con frecuencia me encuentro agregando una contraafirmación que precede a Act. De esta manera sé que la afirmación pasajera realmente pasa como resultado de la acción.
Lo considero análogo al rojo en red-green-refactor, donde solo si he visto la barra roja en el curso de mis pruebas, sé que la barra verde significa que he escrito un código que marca la diferencia. Si escribo una prueba satisfactoria , cualquier código la satisfará; De manera similar, con respecto a Arrange-Assert-Act-Assert, si mi primera afirmación falla, sé que cualquier Ley habría pasado la Afirmación final, por lo que en realidad no verificaba nada sobre la Ley.
¿Sus pruebas siguen este patrón? ¿Por qué o por qué no?
Aclaración de actualización : la afirmación inicial es esencialmente lo opuesto a la afirmación final. No es una afirmación de que Arrange funcionó; es una afirmación de que Act aún no ha funcionado.