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 al classpath y separarlos con punto y coma (Windows) o dos puntos (UNIX / Linux). Depende de tu entorno.
Editar: he agregado 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.). Tenga en cuenta que Java 6+ admite globs en classpath, puede hacer:
Voto a favor. Para JUnit 4.x no está bien. Sus instrucciones dan "No se pudo encontrar la clase: [nombre de la clase de prueba]" Incluso cuando [nombre de la clase de prueba] está en el classpath.
Philip Rego
117
Camino 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 corresponde) en la consola en lugar de los archivos de informe en la carpeta target \ surefire-reports, establezca la propiedad del usuario surefire.useFile en false. Por ejemplo:
mvn clean test -Dtest=your.package.TestClassName -Dsurefire.useFile=false
Camino de 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 obtener 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á 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 la prueba, puede abrir el informe en el navegador, por ejemplo (ábralo con Google Chrome en Ubuntu):
google-chrome build/reports/tests/index.html
Camino hormiga
Una vez que configure 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:
Me gusta que esta respuesta tenga ejemplos para múltiples tecnologías, ¡felicitaciones!
Josie Thompson el
¿Qué pasa con las pruebas maravillosas utilizando el último enfoque?
midori
1
Insignia de oro bien merecida;)
Eric Duminil
Gracias por la versión para gradle! ¡Prestigio!
Ady
52
La respuesta que dio @lzap es una buena solución. Sin embargo, me gustaría agregar que debe agregar. a la ruta de clase, para que su directorio actual no se quede fuera, lo que da como resultado 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]
Tuve el mismo problema con JUnit 4.12. Se me ocurrió una solución similar, pero no funcionó para mí, al no cargar JUnitCore. Básicamente cambié a JUnit 4.8.2 ya que no requiere incluir hamcrest-core.jar en el classpath.
Vladimir Nazarenko
Confirmó que esto debe hacerse con JUnit 4.12. +1.
rayryeng
Esto funcionó para mí:java -cp .:/usr/share/java/junit4.jar org.junit.runner.JUnitCore [test class name]
Raffi Khatchadourian
11
En windows es
java -cp .;/path/junit.jar org.junit.runner.JUnitCore TestClass [nombre de clase de prueba sin 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 classpath para ejecutar la clase JUnitCore que Aquí hemos utilizado para ejecutar nuestras clases de prueba.
La instrucción de línea de comando anterior le ayuda a ejecutar 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.
No te pedí que mantuvieras tu respuesta breve. Solicité agregar alguna explicación (al menos una breve explicación). Es una buena práctica explicar cómo funciona su respuesta. Los lectores pueden entenderlo, me gusta, votarlo.
Mohit Jain
entonces, si tuviera un jar de prueba suplementario Y el jarin junit jar, ¿tendría que tener ambos en el comando java -cp para que algo funcione realmente? ¿Hay alguna forma de evitar tener que poner todo esto en una línea de comando para que no tenga que escribir tantas cosas?
Ungeheuer
5
En realidad, también puede hacer que Junit pruebe un Jar ejecutable y llame al jar ejecutable como java -jar
En Eclipse, haga clic derecho en su proyecto JUnit -> Haga clic en Exportar -> Elija Java-> Archivo Jar
ejecutable
4
Si su proyecto está basado en Maven, puede ejecutar todos los métodos de prueba desde la clase de prueba CustomTest 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 test-class CustomTest usando el siguiente comando:
mvn clean test -pl :my-module -Dtest=CustomTest#myMethod
Por eso dije "si tu proyecto está basado en hormigas". Tenga en cuenta también que el OP puede no saber sobre hormiga.
cherouvim
Tenía este dillema, los archivos de prueba de la unidad no estaban en la carpeta marcada como fuente por eclipse. Ese proyecto usa hormiga para construir, esta era la forma correcta de ejecutar esas pruebas JUnit.
javac -cp "junit-4.12.jar; hamcrest-core-1.3.jar;." Tests.java
trabajó para mi. Tenga en cuenta el punto final: ¡es importante!Respuestas:
Para JUnit 5.x es:
Encuentre un breve resumen en https://stackoverflow.com/a/52373592/1431016 y detalles completos en https://junit.org/junit5/docs/current/user-guide/#running-tests-console-launcher
Para JUnit 4.X es realmente:
Pero si está utilizando JUnit 3.X, tenga en cuenta que el nombre de la clase es diferente:
Es posible que deba agregar más JAR o directorios con sus archivos de clase al classpath y separarlos con punto y coma (Windows) o dos puntos (UNIX / Linux). Depende de tu entorno.
Editar: he agregado 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.). Tenga en cuenta que Java 6+ admite globs en classpath, puede hacer:
Espero eso ayude. Escribir pruebas! :-)
fuente
Camino Maven
Si usa Maven, puede ejecutar el siguiente comando para ejecutar todos sus casos de prueba:
O puede ejecutar una prueba particular como se muestra a continuación
Si desea ver el seguimiento de la pila (si corresponde) en la consola en lugar de los archivos de informe en la carpeta target \ surefire-reports, establezca la propiedad del usuario surefire.useFile en false. Por ejemplo:
Camino de gradle
Si usa Gradle, puede ejecutar el siguiente comando para ejecutar todos sus casos de prueba:
O puede ejecutar una prueba particular como se muestra a continuación
Si desea obtener 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á ejecutando. Si hay alguna excepción, le mostrará el seguimiento de la pila, señalando cuál es el problema.
Si desea ver los resultados generales de la prueba, puede abrir el informe en el navegador, por ejemplo (ábralo con Google Chrome en Ubuntu):
Camino hormiga
Una vez que configure 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:
Puede seguir el siguiente enlace para leer más sobre cómo configurar las pruebas JUnit en el archivo de compilación Ant: https://ant.apache.org/manual/Tasks/junit.html
Manera normal
Si no usa Maven, Gradle o Ant, puede seguir la siguiente manera:
En primer lugar, debe compilar sus casos de prueba. Por ejemplo (en Linux):
Luego ejecuta tus casos de prueba. Por ejemplo:
fuente
La respuesta que dio @lzap es una buena solución. Sin embargo, me gustaría agregar que debe agregar. a la ruta de clase, para que su directorio actual no se quede fuera, lo que da como resultado 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:
fuente
Asegúrese de que JUnit.jar esté en su classpath, luego invoque el corredor de línea de comando desde la consola
Referencia: Preguntas frecuentes sobre junit
fuente
Con JUnit 4.12, lo siguiente no funcionó para mí:
Aparentemente , desde JUnit 4.11 en adelante también deberías incluir
hamcrest-core.jar
en tu classpath:fuente
java -cp .:/usr/share/java/junit4.jar org.junit.runner.JUnitCore [test class name]
En windows es
java -cp .;/path/junit.jar org.junit.runner.JUnitCore TestClass
[nombre de clase de prueba sin 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 classpath para ejecutar la clase JUnitCore que Aquí hemos utilizado para ejecutar nuestras clases de prueba.
La instrucción de línea de comando anterior le ayuda a ejecutar 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.
fuente
En realidad, también puede hacer que Junit pruebe un Jar ejecutable y llame al jar ejecutable como java -jar
fuente
Si su proyecto está basado en Maven, puede ejecutar todos los métodos de prueba desde la clase de prueba CustomTest que pertenece al módulo 'my-module' usando el siguiente comando:
O ejecute solo 1 método de prueba myMethod desde test-class CustomTest usando el siguiente comando:
Para esta capacidad necesita Maven Surefire Plugin v.2.7.3 + y Junit 4. Más detalles aquí: http://maven.apache.org/surefire/maven-surefire-plugin/examples/single-test.html
fuente
Personalmente, usaría el corredor JUvenit seguro de Maven para hacer eso.
fuente
Alternativamente, puede utilizar los siguientes métodos en la clase JunitCore http://junit.sourceforge.net/javadoc/org/junit/runner/JUnitCore.html
run (con Request, Class classes y Runner) o runClasses desde su archivo java.
fuente
Si su proyecto está basado en hormigas, entonces debería poder hacer algo así desde la consola:
Si esto no funciona, pero aún así su proyecto está basado en hormigas, puede ejecutar
ant -p
para enumerar los principales objetivos del proyecto.fuente