Mi prueba de Java funcionó bien desde Eclipse. Pero ahora, cuando reinicio la prueba desde el menú de ejecución, aparece el siguiente mensaje:
No tests found with test runner 'JUnit 4'
En el .classpath
archivo tengo todos los jar
archivos, y al final tengo:
<classpathentry exported="true" kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
<classpathentry kind="output" path="bin"/>
</classpath>
¿Cómo puedo resolver este error y volver a ejecutar las pruebas?
Respuestas:
esto me acaba de pasar. Reconstruir o reiniciar Eclipse no ayudó.
Lo resolví cambiando el nombre de uno de los métodos de prueba para comenzar con "prueba ..." (estilo JUnit3) y luego se encuentran todas las pruebas. Le cambié el nombre de nuevo a lo que era anteriormente, y todavía funciona.
fuente
testQuotes
junto con otros métodos que no comienzan con la prueba pero aún así obtengo el error No se encontraron pruebasjunit.framework.TestCase
y mis métodos debían comenzar con "prueba". En lugar de extenderTestCase
, agregué una importación:import static org.junit.Assert.*;
y puedo nombrar mis métodos como quiero. Bizarre ...Cuando obtenemos estos errores, parece que Eclipse está confundido. Reinicie Eclipse, actualice el proyecto, límpielo, deje que Eclipse lo reconstruya y vuelva a intentarlo. La mayoría de las veces eso funciona a las mil maravillas.
fuente
En el menú contextual de su directorio 'prueba', elija 'Ruta de compilación' -> 'Usar como carpeta de origen'. Eclipse debería ver sus archivos unitTests.java como archivos fuente. La advertencia 'No se encontraron pruebas de JUnit' ocurre porque no hay archivos unitTests.class en su directorio de 'compilación'
fuente
Compruebe si su clase de prueba se extiende a "TestCase". si es así, elimine esa cláusula. Su clase no necesita extenderse desde la clase "TestCase". Son la mayoría de los casos que he conocido.
Seguir TestCase debería estar bien.
fuente
Estaba enfrentando el mismo problema y lo depuré en malos ejemplos en la web y en los componentes internos de junit. Básicamente, no hagas que tu clase extienda TestCase como muestran algunos ejemplos para Junit 4.x. Use alguna prueba de convención de nomenclatura o si desea tener una anotación, puede usar @RunWith (JUnit4.class).
Si necesita acceso para afirmar métodos, extienda Assert o use importaciones estáticas.
Si su clase extiende TestCase, incluso si usa Junit 4 Runner, se ejecutará como 3. Esto se debe a que en el código de inicialización hay detección:
Vea JUnit3Builder y las líneas:
Esto devuelve verdadero y no se intentará la prueba de compatibilidad con junit4.
fuente
@RunWith(JUnit4)
"GroovyTestCase" y la he extendido. Sin@RunWith(JUnit4)
yo enfrento los mismos problemas.Intenta agregar
@Test por encima del método para la prueba como esta
fuente
Otra posible solución que lanzaré al ring: no pude ejecutar la clase de prueba ni desde la ventana del editor ni desde el Explorador de paquetes, pero hice clic derecho en el nombre de la clase en la vista Esquema y seleccioné Ejecutar como JUnit La prueba funcionó ... ¡Imagínate!
fuente
No hay trajes de prueba en JUnit4. En su lugar, utilice anotaciones o utilice las antiguas convenciones de nombres de JUnit3.
Ejemplo:
fuente
Esto también me pasó a mí. Intenté reiniciar Eclipse y también prefijé mis métodos de prueba con pruebas. Ninguno de los dos funcionó.
El siguiente paso funcionó: cambie todos sus métodos de prueba presentes en @BeforeClass y @AfterClass a métodos estáticos.
es decir, si tiene su método de prueba en el siguiente formato:
luego cámbielo a:
Esto funcionó para mí.
fuente
He descubierto la respuesta:
Recibí este error cuando ejecuté la prueba de forma independiente desde eclipse (haga clic derecho en el método y elija ejecutar como prueba junit),
Cuando ejecuté la clase completa como prueba junit, la prueba se ejecutó correctamente con los parámetros.
fuente
Cuando me enfrento a este problema, simplemente edito el archivo y lo guardo ... funciona a la perfección
fuente
Mi problema fue que la declaración
import org.junit.Test;
desapareció (¿o no se agregó?). Después de agregarlo, tuve que eliminar otraimport
declaración (Eclipse le indicará cuál) y todo comenzó a funcionar nuevamente.fuente
Muy tarde, pero lo que me resolvió el problema fue que todos los nombres de los métodos de prueba comenzaban con letras captiales: "prueba pública nula". Haciendo la t minúscula funcionó.
fuente
Probé la solución de Germán. Funcionó para todo el método de mi clase, pero tengo muchas clases en mi proyecto.
Así que intenté eliminarlo de la ruta de compilación y luego volver a agregarlo. Funcionó perfectamente.
Espero eso ayude.
fuente
Seis años después ... y todavía hay problemas con Eclipse y ocasionalmente no se encuentran JUnits.
En mi Eclipse Mars 2 descubrí que no reconocerá las clases de prueba extraídas de git si hay más de 9 o 10
@Test
anotaciones en el archivo. Necesito comentar las pruebas adicionales, ejecutar la clase de prueba, luego descomentarlas y volver a ejecutar la clase. Imagínate...fuente
Puede ser que su configuración de lanzamiento de JUnit fuera para una clase de prueba individual, y de alguna manera cambió esa configuración para "ejecutar todas las pruebas en una carpeta, paquete o proyecto de origen"
Pero eso podría desencadenar el mensaje de error "No se encontraron pruebas con el corredor de pruebas 'JUnit 4'".
O hizo una modificación en su clase de prueba, eliminando la
@Test
anotación.Vea esta página wiki .
fuente
toto.lolo.Testrunner
y nototo.lolo.testrunner
('T')También enfrenté el mismo problema mientras ejecutaba la prueba JUnit. Resolví esto colocando la anotación @Test justo encima de la función de prueba principal.
fuente
Lo que solucionó mi caso fue similar a la respuesta de @ JamesG: reinicié Eclipse, reconstruí el proyecto y lo actualicé; PERO antes de hacer algo de eso, primero cerré el proyecto (haga clic derecho en el proyecto en el explorador de paquetes -> Cerrar proyecto) y luego lo volví a abrir. Entonces funcionó.
Una solución alternativa que encontré antes de encontrar la solución definitiva que acabo de describir: copie la clase de prueba y ejecute la clase de prueba como JUnit.
fuente
Compruebe si la carpeta en la que se encuentran sus pruebas es una carpeta de origen. Si no es así, haga clic derecho y utilícelo como carpeta de origen.
fuente
Cerrar y abrir el proyecto funcionó para mí.
fuente
Existe otra posibilidad, es posible que haya cambiado Junit Test de una versión inferior (por ejemplo, Junit 3) a Junit 4. Es así que siga los pasos a continuación: -
fuente
Agregue
@Test
en la parte superior de su prueba.Coloca el mouse sobre la anotación.
Elija 'agregar biblioteca junit 4 a classpath'
fuente
¿Su proyecto Eclipse está basado en maven? Si es así, es posible que deba actualizar la versión de m2eclipse.
Desde aquí: http://nuin.blogspot.com/2009/07/m2eclipse-and-junit4-no-tests-found.html
fuente
Esto me pasó a mí también. Descubrí que en Eclipse no hice un nuevo archivo de clase Java y por eso no estaba compilando. Intente copiar su código en un archivo de clase Java si aún no está allí y luego compile.
fuente
Descubrí que Eclipse parece realizar solo pruebas de estilo JUnit 3 si su clase de prueba se extiende desde
TestCase
. Si quita la herencia, las anotaciones funcionaron para mí.Tenga en cuenta que debe importar estáticamente todos los
assert*
métodos necesarios comoimport static org.junit.Assert.*
.fuente
Tuve que hacer una limpieza de mvn en la línea de comandos y luego proyectar-> limpiar en eclipse. Cambié el nombre de la clase de antemano y luego lo cambié de nuevo, pero dudo que haya ayudado.
fuente
También estoy ejecutando Eclipse con Maven (m2e 1.4). Las pruebas se estaban ejecutando con Maven, pero no con Eclipse ... incluso después de varias aplicaciones de
Maven>Update project
.Mi solución fue agregar algunas líneas en el .classpath generado por m2e. Las líneas ahora se pegan.
fuente
Tengo este problema de vez en cuando. Lo que más me resuelve el problema es ejecutar la prueba JUnit desde las configuraciones de ejecución ... asegurándome de que JUnit 4 esté configurado como el ejecutor de pruebas.
Generalmente, veo este problema cuando intento Ejecutar como ... prueba Junit desde el menú contextual en el Explorador de paquetes. Si hace clic con el botón derecho en el código de la prueba que está intentando ejecutar y en lugar de seleccionar Ejecutar como ... Prueba de Junit, selecciona Ejecutar configuraciones ... asegúrese de que el Proyecto, la Clase de prueba y el corredor de prueba estén configurados correctamente, haga clic en Aplicar y luego ejecutar trabaja todo el tiempo para mí.
fuente
Comencé a trabajar con Selenium y Eclipse en mi trabajo y estaba haciendo mi primera prueba automatizada y eliminé del código las notas @Before, @Test y @After y estaba teniendo este problema "No se encontraron pruebas con el corredor de pruebas junit4" .
Mi solución fue simplemente agregar nuevamente las notas @Before, @Test y @After y con eso funcionó mi script. Es importante no borrar esto del código.
Esta es una prueba simple que usa Google para buscar algo:
fuente
Usando ScalaIDE (3.0.4-2.11-20140723-2253-Typesafe) estaba teniendo un problema similar con el
Right Click Scala Test Class-> Run As -> Scala Junit Test
menú contextual.Intenté editar la clase (pero no por una falla de compilación), limpiar, cerrar el proyecto, cerrar Eclipse. Ninguno de ellos trabajó para restaurar el menú contextual de las clases que anteriormente habían funcionado bien. Las clases de prueba no usan la
@Test
anotación y en su lugar usan la@RunWith(classOf[JUnitRunner])
anotación en la parte superior de la clase usando el código ScalaTest.Cuando intenté elegir
Scala Junit Test
directamente desde el editor de inicio Ejecutar configuración, recibí el cuadro de diálogo de la pregunta. La respuesta de Footix29 fue la clave para mí.Noté que a pesar de que había limpiado mi proyecto varias veces, mis clases en el directorio / bin no habían sido reconstruidas en un tiempo.
Así es como recuperé el menú contextual y pude ejecutar una vez más
Scala Junit Test
s:manually
limpió las clases eliminando el/bin/<package dir>*
via ExplorerProject -> Clean
ed el proyecto junto con una reconstrucción completaSospecho que una edición de clase en general puede limpiar algún estado guardado de Eclipse y hacer que funcione nuevamente. En mi caso, todas las clases trabajadoras que probé anteriormente habían fallado, por lo que
manual
paso limpio fue el martillo que necesitaba. Sin embargo, también deberían funcionar otros trucos que afectan el concepto de Eclipse de la ruta de clase / estado de compilación.Además, creo que este comportamiento se desencadenó en parte al intentar refactorizar una clase Scala cambiándola de nombre (lo que el Scala Eclipse IDE apesta), donde toda la limpieza después del cambio de archivo inicial es manual. No hubo errores de compilación, pero tampoco hubo advertencias de que esperaba, lo que significa que algo definitivamente se atascó en la información de estado de compilación de Eclipse.
fuente