Quantcast
Viewing all articles
Browse latest Browse all 19

Pruebas parametrizadas en JUnit

Pruebas unitarias parametrizadas pueden ser muy útiles para escribir pruebas basadas en datos tabulares. Este tipo de pruebas te puede ayudar evitar escribir mucho código duplicado y repetitivo.
Si bien en Internet hay bastante artículos que hablan sobre las pruebas parametrizadas, no pude encontrar un ejemplo que puedes simplemente copiar a tu entorno de trabajo y ejecutar. Aquí va el código fuente:

https://gist.github.com/darsen/5104291

La anotacion @Parameterized.Parameters esta disponible desde la versión 4.11 de JUnit y se utiliza para generar los títulos con significado que tu entorno de desarrollo va a desplieguar al ejecutar las pruebas. Esto facilita detectar el caso exacto de prueba que ha fallado sin tener que leer el detalle de la traza de ejecución.
Al parecer, esta versión de JUnit aún no se propaga en repositorios Maven. Para esta prueba agregue la versión 4.11-beta-1 de JUnit como dependencia Maven, pero para su proyecto deben descargar la versión final de la librería. Si trabajan con una versión anterior de JUnit, simplemente pueden borrar la anotación. Si quieren tener títulos con significado con la versión anterior de JUnit, pueden implementar una de las alternativas que se proponen en siguiente pregunta en Stackoverflow:
Changing names of Parameterized Tests

Ahora bien, la otra alternativa es utilizar el lenguaje de programación Groovy y la librería Spock para escribir pruebas para tu código java. Spock soporta el siguiente tipo de sintaxis:

class HelloSpock extends spock.lang.Specification {
def “length of Spock’s and his friends’ names”() {
expect:
name.size() == length

where:
name | length
“Spock” | 5
“Kirk” | 4
“Scotty” | 6
}
}

Happy tdd!


Viewing all articles
Browse latest Browse all 19

Trending Articles