Blog / Java / Suites de pruebas JUnit
Los test suites o conjuntos de pruebas nos permiten ejecutar simultáneamente todas las pruebas implementadas para conjuntos de clases.
Los test suites o conjuntos de pruebas nos permiten ejecutar simultáneamente todas las pruebas implementadas para conjuntos de clases.
Si hemos implementado las pruebas clase a clase, como describo en la entrada: preparación para realizar pruebas con JUnit, necesitamos crear los conjuntos de pruebas para ejecutarlas todas juntas en lugar de hacerlo para cada clase.
Para crear un conjunto de pruebas podemos seleccionar el paquete con el ratón y seguir el mismo procedimiento usado para crear una clase con pruebas (descrito en la entrada citada). Esto crea / actualiza las clases con los test para todas las clases / métodos no cubiertos por pruebas con anterioridad y crea una clase, nombrada a partir del paquete, que permite ejecutar el conjunto de pruebas.
De haber paquetes en el interior del seleccionado, también se crean las pruebas para sus clases y subconjuntos de pruebas dentro de esos paquetes que serán llamados desde el conjunto de pruebas del paquete principal.
Tengo un proyecto, llamado "miapp", con un paquete "helpers" y dentro las clases "StringUtils", "CastUtils" y el paquete "foo" que a su vez tiene las clases "Foo" y "Baz". Estructura:
miapp.helpers | |- miapp.helpers.foo | |- Baz.java | |- Foo.java | |- CastUtils.java |- StringUtils.java
Previamente tengo pruebas escritas para todas las clases, con sus métodos de "foo", es decir que en "Test Packages" tengo las clases: "miapp.helpers.foo.BazTest" y "miapp.helpers.foo.FooTest". Voy a crear un conjunto de pruebas para ejecutar las pruebas de todas las clases, de los paquetes "miapp.helpers" y "miapp.helpers.foo".
Procedimiento
1. Seleccionar el paquete "helpers" con el ratón.
2. Clic derecho y seleccionar "Tools" > "Create/Update Tests".
3. Se abre la ventana de configuración "Create/Update Tests" donde debemos:
Resultados
En "Test Packages" tendremos:
miapp.helpers | |- miapp.helpers.foo | |- Baz.java | |- Foo.java | |- FooSuite.java | |- CastUtils.java |- HelpersSuite.java |- StringUtils.java
Ahora debemos implementar los test para las clases que antes no estaban cubiertas, es decir las pruebas en "miapp.helpers.CastUtilsTest" y "miapp.helpers.StringUtilsTest".
Al final podremos ejecutar todas las pruebas del paquete "miapp.helpers.foo" ejecutando la clase "FooSuite" o todas las pruebas de los paquete "miapp.helpers" y "miapp.helpers.foo" ejecutando la clase "HelpersSuite".
06-07-2018