testing - test - Groovy para probar una API
soapui variables (2)
Yo uso Groovy para este propósito también. Acabo de escribir JUnit 4 casos de prueba en Groovy y luego escribí mi propio guión de Groovy Runner personalizado que reúne los resultados y los imprime para mí. Esta es la secuencia de comandos para llamar a las pruebas JUnit 4 Groovy:
def (Result result, Duration duration) = time {
JUnitCore.runClasses(TestA, TestB, TestC)
}
String message = "Ran: " + result.getRunCount() + ", Ignored: " + result.getIgnoreCount() + ", Failed: " + result.getFailureCount()
println ""
println "--------------------------------------------------"
println "Tests completed after " + duration
println "--------------------------------------------------"
if (result.wasSuccessful()) {
println "SUCCESS! " + message
println "--------------------------------------------------"
} else {
println "FAILURE! " + message
println "--------------------------------------------------"
result.getFailures().each {
println it.toString()
}
println "--------------------------------------------------"
}
def time(closure) {
DateTime start = new DateTime()
Object result = closure()
[result, new Duration(start, new DateTime())]
}
Escribí este script porque no pude encontrar un corredor JUnit 4 reutilizable para Groovy en ese momento. Puede haber uno ahora, pero esto funciona para mí.
Estoy escribiendo una serie de casos de prueba automatizados de extremo a extremo que ejercen una API RestFUL.
Tengo varios buenos guiones de prueba, escritos en Groovy, que proporcionan el tipo de pruebas y crean la confianza que necesitamos, y estamos buscando integrarlas en una compilación nocturna, así como permitir que el equipo de control de calidad las ejecute. Este es un paso por encima de las pruebas unitarias, ya que estamos analizando flujos de trabajo completos de extremo a extremo, en lugar de pasos atómicos.
La salida es actualmente legible por humanos, con cada condición de prueba imprimiendo una línea que define la prueba, el valor que se lee, y un verdadero / falso para mostrar si la condición de prueba pasa.
Me gustaría ajustar esto en un script de nivel superior que llame a cada script individualmente y luego analice los resultados. Puedo hacerlo fácilmente, pero me preguntaba si ya existe un marco Groovy Test, así que no reinventé la rueda.
JUnit, TestNG y Spock son todas opciones razonables para escribir pruebas (no solo unidades) en Groovy. Elija uno de ellos y ejecute las pruebas con su sistema de compilación de su elección. Un sistema de compilación como Gradle que puede arrancar solo hará la vida más fácil para QA (no requiere instalación).
Descargo de responsabilidad: soy fundador de Spock y committer de Gradle.