Hola, tengo varias preguntas sobre como aplicar corretamente TDD y algunas cositas del tp.
1) Como hago pruebas unitarias de los metodos setters? Osea que buscaria? Ver que devuelva el valor que le pase? Y si hacer las pruebas implica crear metodos que no tenia la necesidad de crear?
2) Como hago pruebas unitarias de metodos getters? Misma pregunta que 1.
3) Como hago pruebas unitarias de los initialize? Lo mismo.
4) Como pruebo metodos que en la misma prueba requieren metodos no implemntados? Los implemento completos con TDD o hago solo la firma? Si solo hago la frma y la prueba falla codeo el metodo del principio o el secundario? (al que solo le habia hecho la firma)
5) Que hago si la prueba del metodo A requiere un metodo B y la prueba del metodo B requiere al metodo A?
6) Me cuesta darme cuenta como aplicar correctamente lo de minimo codigo necesario despues de fallar la prueba. Osea se que al principio se hardcodea pero despues, cuando falla devuelta, como se si estoy haciendo de mas?
7) Al lado de mis clases me aparece por ejemplo (! AlgoTrip) con una exclamacion que me pide que comente. Comento?
8) Hay veces que no se si hacer el menor codigo posible va encontra de no acotar el dominio del problema innecesariamente.
9) Hay forma de agrupar pruebas por metodo?
10) A veces me pasa que codeo un metodo para que pase la prueba 1 pero no pasa la prueba 2. Entonces lo cambio lo minimo posible para que pase la prueba 2 pero ahora no pasa la 1. Como lo hago bien de una forma sistematica?
11) Esto capaz que no es tan importante o es un error mio, pero me pasa a veces que si no inicializo una variable interna diciendole que guarda una instancia de la clase A despues la variable no entiende los mensajes que le mando (mensajes de la clase A) aun habiendo asignado una instancia de la clase A a la variable en el medio del flujo del programa.
Basiacmente eso. Perdon por la extension.
Hola Axel,
Son muchas preguntas para contestar por acá. Dado que estamos a miércoles, sugiero que las plantees mañana en la clase práctica.
De todos modos, ya hubo una respuesta sobre las pruebas de getters/setters. Además de esa respuesta, lo que suele hacerse es probar juntos el inicializador y el getter.
Saludos,
Carlos Fontela
ok gracias