Ok, sé que estoy haciendo una declaración así, mi pregunta es para que todos me convenzan de que estoy equivocado. Tome este escenario:¿Por qué debería molestarme con las pruebas unitarias si solo puedo usar las pruebas de integración?
Tengo el método A, que llama al método B, y están en capas diferentes.
Por lo tanto, pruebo la unidad B, que proporciona un resultado nulo. Entonces pruebo que se devuelve nulo y pasa la prueba de la unidad. Bonito.
Luego pruebo la unidad A, que espera que se devuelva una cadena vacía de B. Entonces me burlo de que la capa B está dentro, se devuelve una cadena vacía, la prueba pasa. Agradable de nuevo. (Supongamos que no me doy cuenta de la relación de A y B, o que quizás dos personas diferentes están construyendo estos métodos)
Mi preocupación es que no encontremos el problema real hasta que probemos A y B juntos, es decir Pruebas de integración. Dado que una prueba de integración proporciona cobertura sobre el área de prueba de la unidad, parece una pérdida de esfuerzo construir todas estas pruebas unitarias que realmente no nos dicen nada (o mucho) significativo.
¿Por qué estoy equivocado?
Posible duplicado: http://stackoverflow.com/questions/67299/is-unit-testing-worth-the-effort – Finglas
@Finglas Cambié el título de su publicación para reflejar con más precisión lo que está preguntando. En ese caso, no es un engaño. – ryeguy
Las pruebas unitarias son para personas que no tienen plazos reales, horarios mal administrados, nuevos requisitos introducidos en el proyecto, hardware cambiante/defectuoso, etc., y que simplemente tienen tiempo para hacer algunas cosas, como pruebas unitarias. En el mundo real, esto no existe ... su jefe nunca le dará tiempo para hacerlo, ya que es difícil justificarlo cuantitativamente. – Toad