Mejores prácticas TDD

– Pensar
– TODO list (Casos de uso que pueden ocurrir)
– Escribir test Rojo
– Ver fallar test
– Hack para que el test sea verde (minor effort)
– Refactor

BDD – PO y cliente involucrados en el proyecto

Lo ideal para los tests, es que tengan 3 partes separadas: preparación, ejecución, validación.

Implementar código mínimo para que el resultado sea VERDE.
A veces hace falta darle una vuelta y empezar por el caso más más simple.
Dentro del siguiente caso, buscar el ejemplo más fácil.
Si tienes varias opciones para seguir testando, coge el caso que te lleve al verde más rápido.

Sobre los nombres:
· Nombres de los tests, no poner el input del test, poner el caso genérico que cumple.
· Nombres de las funciones: sumNumbersFrom(String expression)
· Escribir los it en tercera persona y intentamos que la frase del describe encaje con la frase del it.
· No usar expresiones técnicas, sino nombres que ayudan a entender el negocio.
· Si damos los nombres de los tests tenemos que poder entender como funciona el problema o el comportamiento que este tiene. (Por esto decimos que los tests sirven de documentación)
· Si para un test uno de los argumentos es irrelevante, le podemos poner este nombre a la variable y ayuda mucho a entender el test.

Más tecnicas sobre TDD
· No capturar las excepciones en general, si hay un caso que si se ocurre capturadlo con un if así tienes otro caso de uso.
· Primero fijarnos o centrarnos en resolver los tests, después vamos a renombrado los nombres.
· Si vemos que en un determinado punto se nos complica un poco paramos y con lo que ya tenemos hacemos un refactor o renaming the variables.
· La recursión es mas fácil de implementar que un bucle. (Se debe considerar)
· Cuando ponemos una función o una variable explicativa. Si el detalle debe star visible, le damos una variable explicativa, sino lo encapsulamos en una función.
· En vez de meter un comentario metemos una variable.
· No todas las funciones deben defenderse de parámetros que pueden venir errores, (Code Complete) depende si el input lo pone el usuario o esta controlado en otra capa.
· No SE PUEDE CAMBIAR EL ASSERT DEL TEST, te ayuda a plantear tu código estable.

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *