unitarias unitaria tutorial test sintaxis pruebas prueba fail ejemplos configuracion con unit-testing command-line junit

unit-testing - tutorial - pruebas unitarias



Cómo ejecutar casos de prueba JUnit desde la línea de comando (11)

Me gustaría ejecutar casos de prueba de JUnit desde la línea de comandos. ¿Cómo puedo hacer esto?



Asegúrese de que JUnit.jar esté en su ruta de clase, luego invoque el corredor de línea de comandos desde la consola

java org.junit.runner.JUnitCore [nombre de clase de prueba]

Referencia: junit FAQ


Con JUnit 4.12 lo siguiente no me funcionó:

java -cp .:/usr/share/java/junit.jar org.junit.runner.JUnitCore [test class name]

Apparently , desde JUnit 4.11 en adelante, también debes incluir hamcrest-core.jar en tu classpath:

java -cp .:/usr/share/java/junit.jar:/usr/share/java/hamcrest-core.jar org.junit.runner.JUnitCore [test class name]


En realidad, también puede hacer que la prueba Junit sea un Jar ejecutable y llamar al jar ejecutable como java -jar


En windows es

java -cp .;/path/junit.jar org.junit.runner.JUnitCore TestClass [nombre de la clase de prueba sin la extensión .class]

por ejemplo: c:/>java -cp .;f:/libraries/junit-4.8.2 org.junit.runner.JUnitCore TestSample1 TestSample2 ... y así sucesivamente, si uno tiene más de una clase de prueba.

-cp significa ruta de clase y el punto (.) representa la ruta de clase existente, mientras que el punto y coma (;) agrega el jar adicional dado a la ruta de clase, como en el ejemplo anterior junit-4.8.2 ahora está disponible en la ruta de clase para ejecutar la clase JUnitCore que Aquí hemos utilizado para ejecutar nuestras clases de prueba.

La declaración de la línea de comandos anterior le ayuda a ejecutar las pruebas junit (versión 4+) desde el símbolo del sistema (es decir, MSDos).

Nota: JUnitCore es una fachada para ejecutar pruebas de junit, esta fachada se incluye en 4+ versiones de junit.


La respuesta que dio @lzap es una buena solución. Sin embargo, me gustaría añadir que debería agregar. a la ruta de clases, para que su directorio actual no se quede fuera, lo que hace que sus propias clases se queden fuera. Esto me ha pasado en algunas plataformas. Entonces una versión actualizada para JUnit 4.x sería:

java -cp .:/usr/share/java/junit.jar org.junit.runner.JUnitCore [test class name]


Para JUnit 5.x es:

java -jar junit-platform-console-standalone-<version>.jar <Options>

Encuentre un breve resumen en .com/a/52373592/1431016 y todos los detalles en https://junit.org/junit5/docs/current/user-guide/#running-tests-console-launcher

Para JUnit 4.X es realmente:

java -cp .:/usr/share/java/junit.jar org.junit.runner.JUnitCore [test class name]

Pero si está utilizando JUnit 3.X, tenga en cuenta que el nombre de la clase es diferente:

java -cp .:/usr/share/java/junit.jar junit.textui.TestRunner [test class name]

Es posible que deba agregar más JAR o directorios con sus archivos de clase a la ruta de clase y separarlos con punto y coma (Windows) o dos puntos (UNIX / Linux). Depende de su entorno.

Editar: He añadido el directorio actual como ejemplo. Depende de su entorno y de cómo construya su aplicación (puede ser bin / o build / o incluso my_application.jar, etc.). Nota: Java 6+ admite globs en classpath, puedes hacer:

java -cp lib/*.jar:/usr/share/java/junit.jar ...

Espero eso ayude. Escribir pruebas! :-)


Personalmente usaría el corredor Maven surefire JUnit para hacer eso.


Si el proyecto se basa en hormigas, debería poder hacer algo como esto desde la consola:

ant test

Si esto no funciona, pero aún así su proyecto está basado en hormigas, puede ejecutar ant -p para enumerar los objetivos principales del proyecto.


Si su proyecto está basado en Maven, puede ejecutar todos los métodos de prueba desde CustomTest de clase de prueba que pertenece al módulo ''my-module'' usando el siguiente comando:

mvn clean test -pl :my-module -Dtest=CustomTest

O ejecute solo 1 método de prueba myMethod desde la clase de prueba CustomTest usando el siguiente comando:

mvn clean test -pl :my-module -Dtest=CustomTest#myMethod

Para esta capacidad, necesita Maven Surefire Plugin v.2.7.3 + y Junit 4. Más detalles están aquí: http://maven.apache.org/surefire/maven-surefire-plugin/examples/single-test.html


Camino de Maven

Si usa Maven, puede ejecutar el siguiente comando para ejecutar todos sus casos de prueba:

mvn clean test

O puede ejecutar una prueba particular como se muestra a continuación

mvn clean test -Dtest=your.package.TestClassName mvn clean test -Dtest=your.package.TestClassName#particularMethod

Si desea ver el seguimiento de la pila (si existe) en la consola en lugar de los archivos de informe en la carpeta target / surefire-reports, establezca la propiedad de usuario surefire.useFile en false. Por ejemplo:

mvn clean test -Dtest=your.package.TestClassName -Dsurefire.useFile=false

Camino gradle

Si usa Gradle, puede ejecutar el siguiente comando para ejecutar todos sus casos de prueba:

gradle test

O puede ejecutar una prueba particular como se muestra a continuación

gradle test --tests your.package.TestClassName gradle test --tests your.package.TestClassName.particularMethod

Si desea más información, puede considerar opciones como --stacktrace, o --info, o --debug.

Por ejemplo, cuando ejecuta Gradle con el nivel de registro de información - info, le mostrará el resultado de cada prueba mientras se están ejecutando. Si hay alguna excepción, le mostrará el seguimiento de la pila, señalando cuál es el problema.

gradle test --info

Si desea ver los resultados generales de las pruebas, puede abrir el informe en el navegador, por ejemplo (Ábralo con Google Chrome en Ubuntu):

google-chrome build/reports/tests/index.html

Camino de hormigas

Una vez que haya configurado su archivo de compilación Ant, build.xml, puede ejecutar sus casos de prueba JUnit desde la línea de comandos como se muestra a continuación:

ant -f build.xml <Your JUnit test target name>

Puede seguir el siguiente enlace para obtener más información sobre cómo configurar las pruebas de JUnit en el archivo de compilación de Ant: https://ant.apache.org/manual/Tasks/junit.html

Forma normal

Si no usa Maven, o Gradle o Ant, puede seguir el siguiente camino:

En primer lugar, necesita compilar sus casos de prueba. Por ejemplo (en Linux):

javac -d /absolute/path/for/compiled/classes -cp /absolute/path/to/junit-4.12.jar /absolute/path/to/TestClassName.java

A continuación, ejecute sus casos de prueba. Por ejemplo:

java -cp /absolute/path/for/compiled/classes:/absolute/path/to/junit-4.12.jar:/absolute/path/to/hamcrest-core-1.3.jar org.junit.runner.JUnitCore your.package.TestClassName