TestNG es una herramienta similar a JUnit para probar aplicaciones y aporta algunas funcionalidades extra. Os presento algunas recomendaciones a la hora de usarla:
- Definir conjuntos de pruebas en testSuites en ficheros xml. Así se podrá probar sólo una parte de la aplicación, comprobar funcionalidad mínima (happy path), etc.
- Separar pruebas unitarias (comprueban una funcionalidad concreta) de las de integración (prueban varios elementos). Así será más fácil diagnosticar dónde se producen los errores.
- Documentar en el javadoc de cada método de test los pasos que ejecuta y los resultados esperados. Así será más fácil arreglarlo cuando falle por un cambio en la aplicación.
- Indicar los datos en ficheros de xml o properties en lugar de en el código Java. Normalmente se repiten los datos en múltiples tests y así sólo habrá que cambiarlos en un sitio.
- No capturar excepciones en los tests: si algo falla debería saltar la excepción y cancelarse el test con errores.
- Integración continua: lanzar todos los tests al desplegar una versión para comprobar que sigue funcionando todo lo de la versión anterior.
- Crear una clase DefaultTestSet de la que extiendan las clases que contienen tests. En ella se crearían los objetos necesarios, se leerían los ficheros de configuración, etc.
- Usar los métodos @before y @after para agrupar pasos que se repitan al principio y al final de todos los métodos de una clase. Así se evita repetir código, y cuando hay que hacer cambios sólo se modifica en un lugar.
¿Se os ocurren otras recomendaciones? Podéis compartirlas en los comentarios
Y recuerda que puedes suscribirte y recibir estos artículos: [mc4wp_form]