TDD es algo que parece estar en boca de todos en estos días, y lo he probado solo, pero no creo que me haya entendido. Entiendo cómo escribir una prueba unitaria, pero no entiendo exactamente qué deberían probar las pruebas de mi unidad.¿Qué prueba con las pruebas de su unidad?
- Si tengo un método de acción que devuelve una lista de datos, ¿qué debo verificar? Solo que el nombre de la vista es correcto, o debo verificar los datos también?
- Si también debo probar los datos, ¿no escribiré el mismo código dos veces? ¿Para qué sirve probar los datos si utilizo el mismo método para recuperar los datos que comparo?
- ¿Debo probar los métodos para agregar/editar mis datos también? ¿Cómo verifico si un registro ha sido agregado/editado/eliminado, de manera correcta?
Sé que es un buen montón de preguntas grandes, pero no he vuelto más sabio de la lectura de artículos en internet, ya que todos ellos parecen estar preocupados con cómo para poner a prueba, y no con lo.
Como ejemplo, tengo (o voy a escribir) un GuestbookController, con métodos para ver, agregar, editar y eliminar publicaciones. ¿Qué necesito probar? ¿Cómo lo hago?
Estoy de acuerdo en que UT! = TDD, ya que TDD es una metodología que usa UT. Sin embargo, no conozco ninguna definición en la literatura de TDD, que respalde su afirmación acerca de que UT tiene que ver con la cobertura. Por favor elabora. –
@ [Brian Rasmussen]: el énfasis de UT en la cobertura del código proviene de dos fuentes: proveedores de herramientas de cobertura de código y personas distraídas por (fascinadas con) las métricas de cobertura de código. UT en sí mismo es una herramienta, no una metodología. No hay ninguna mención de cobertura de código en absoluto en ninguna de las publicaciones de TDD que he leído. –
Con la prueba unitaria, no prueba todas las funciones. Por ejemplo, no prueba getters y setters que no tienen lógica en ellos. Sin embargo, si hacen más que devolver o establecer un valor, entonces de hecho se prueban. –