java - run - new junit test intellij
Clase no encontrada: Conjunto de pruebas vacĂo en IntelliJ (30)
Estoy empezando el programa de ciencias de la computación en mi universidad y tengo algunos problemas con IntelliJ. Cuando intento ejecutar pruebas unitarias, recibo el mensaje
Process finished with exit code 1
Class not found: "edu.macalester.comp124.hw0.AreaTest"Empty test suite.
También veo un mensaje titulado "No se encontraron pruebas" en el lado izquierdo de mi pantalla. Mi código de prueba está aquí:
package edu.macalester.comp124.hw0;
import org.junit.Test;
import static org.junit.Assert.*;
public class AreaTest {
@Test
public void testSquare() {
assertEquals(Area.getSquareArea(3.0), 9.0, 0.001);
}
@Test
public void testCircle() {
assertEquals(Area.getCircleArea(3.0), 28.2743, 0.001);
}
}
Y mi código de proyecto está aquí:
package edu.macalester.comp124.hw0;
import java.lang.Math;
public class Area {
/**
* Calculates the area of a square.
* @param sideLength The length of the side of a square
* @return The area
*/
public static double getSquareArea(double sideLength) {
// Has been replaced by correct formula
return sideLength * sideLength;
}
/**
* Calculates the area of a circle.
* @param radius The radius of the circle
* @return The area
*/
public static double getCircleArea(double radius) {
// Replaced by correct value
return radius * 2 * Math.PI;
}
}
¿Cómo puedo hacer que mis pruebas funcionen? Gracias por adelantado. Estoy usando la versión más reciente de IntelliJ IDEA CE.
¿Su prueba requiere un dispositivo Android (emulador o hardware)?
Si es así, se llama "prueba instrumentada" y reside en "nombre-módulo / src / androidTest / java /".
Si no, se llama "prueba de unidad local" y reside en "nombre-módulo / src / test / java"
https://developer.android.com/training/testing/start/index.html
Obtuve el mismo error porque había escrito una prueba de unidad local, pero se colocó en la carpeta para pruebas instrumentadas. Mover la prueba de unidad local a la carpeta "src / test / java" me lo arregló.
Curiosamente, me he enfrentado a este problema muchas veces debido a diferentes razones. Por ejemplo, invalidar la caché y reiniciar también ha ayudado.
Por último, lo arreglé corrigiendo mi ruta de salida en Archivo -> Estructura del proyecto -> Proyecto -> Salida del compilador del proyecto a: absolute_path_of_package / out
por ejemplo: / Users / random-guy / myWorkspace / src / DummyProject / out
El mismo problema aquí usando IDEA 15.0.6, y nada ayudó, excepto cuando cambié el nombre del paquete en el que estaba la clase de prueba. Luego lo cambié a su nombre original y aún funcionó, por lo que la acción de cambio de nombre podría haber borrado algo de caché.
Eliminar
.idea
y volver a importar el proyecto SBT resolvió este problema para mí.
En Android Studio 3.0 +, a veces las pruebas de IU se interpretan de alguna manera como pruebas unitarias y no solicita la selección de implementación de destino. Puede ir a Editar configuración y marcarlo como una prueba de integración y comenzaría a funcionar
En mi caso hubo un problema con el nombre de la prueba :).
Si el nombre era:
dummyNameTest
, no se obtienen pruebas, pero en el caso
testDummyName
todo estaba bien
En mi caso, IntelliJ no compiló las fuentes de prueba por una extraña razón.
Simplemente modifiqué la configuración de compilación y agregué la
clean test-compile
objetivos
clean test-compile
en la sección
Before launch
En mi caso, el problema se solucionó yendo a mi
build.gradle
y cambiando
dependencies {
testImplementation ''junit:junit:4.12''
}
a
dependencies {
testCompile ''junit:junit:4.12''
}
En mi caso, tenía todo lo demás en el lugar correcto, pero estaba trabajando en una biblioteca de Java con Kotlin . Acabo de olvidar aplicar el complemento:
apply plugin: ''kotlin-android''
Y ahora está funcionando como se esperaba ahora.
En su estructura de proyecto Maven src / main / java, haga clic con el botón derecho en el directorio java y seleccione la opción Marcar directorio como -> Rooteo de fuentes
Del mismo modo, haga lo mismo con el directorio de prueba, así que: src / test / java haga clic derecho en el directorio de java y seleccione la opción Marcar directorio como -> Raíz de fuentes de prueba
Trabajó para mi :-)
Entonces, mi problema aquí fue con los nombres de las carpetas. Había llamado a mi carpeta de códigos Clases 2016/2017, que a IntelliJ no le gustaba. Simplemente elimine la barra oblicua (u otro personaje ofensivo en la ruta), vuelva a importar el proyecto, ¡y estará listo!
Estaba obteniendo el mismo error. Mi dispositivo no estaba conectado a Android Studio. Cuando me conecté al estudio. Funciona. Esto resuelve mi problema.
Esto puede suceder (al menos una vez para mí;) después de instalar la nueva versión de IntelliJ y los complementos de IntelliJ aún no se han actualizado.
Puede que tenga que hacer manualmente
Check for updates…
desde el menú Ayuda de IntelliJ.
Esto también podría suceder si su carpeta de prueba se ha importado como un módulo separado (se muestra un pequeño cuadrado en el icono de la carpeta en la vista del proyecto).
Elimine el módulo seleccionando la carpeta de prueba en la vista del proyecto y presione
SUPR
.
Entonces comienza tu prueba.
Si aparece un cuadro de diálogo emergente con un mensaje de error, que no se ha seleccionado ningún módulo, especifique su módulo raíz en el menú desplegable.
Esto también sucederá cuando su módulo y / o proyecto-jdk no estén configurados correctamente.
Intenté todas las soluciones pero ninguna de ellas me ayudó.
Al final ejecuté la prueba en modo de depuración y ... comenzó a funcionar.
Tal vez el caché de algún experto fue despejado.
Es difícil de decir.
Funciona.
Prueba
mvn test -X
Para mí fue porque mi proyecto se estaba compilando en un directorio fuera del proyecto. En las rutas, las rutas de salida eran / producción / nombre_proyecto y / prueba / nombre_proyecto, que las colocaba en C: / producción / nombre_proyecto. Cambiarlos a la ruta completa del proyecto permitió a mis pruebas acceder a los archivos de la clase.
Probablemente se deba a que la carpeta no está configurada como fuente de prueba, lo que se puede hacer a través de Configuración del módulo> Módulos.
Reimportar proyecto o módulo puede resolver el problema. Resolví este problema al cambiar el nombre del paquete al desarrollar. Pero la ruta de salida y la ruta de salida de prueba es la ruta anterior. Entonces intellij no puede encontrar la clase desde el camino anterior. Entonces, la forma más fácil es corregir la ruta de salida y la ruta de salida de prueba.
Si el proyecto tiene un problema de compilación, entonces las pruebas podrían no ejecutarse. En primer lugar, cree el proyecto como Build -> Build Project. Después de una compilación exitosa, vuelva a ejecutar la prueba.
Si nada funciona, simplemente cierre la ventana del proyecto y elimine el proyecto y vuelva a importarlo como proyecto Gradle / Maven, que configurará todo para usted al anular los archivos creados por IntelliJ existentes. Esto eliminará la caché no válida creada.
Simplemente haga clic con el botón derecho del mouse en el archivo en la ventana Proyectos y seleccione
"Ejecute su prueba ".
Ahora todo comienza bien, probablemente porque la configuración de ejecución defectuosa se está reconstruyendo nuevamente.
También tuve el mismo problema en mi entorno (MacOS). Estaba usando IntelliJ 2016. Tenía un proyecto de biblioteca Java (gradle).
Lo que hice fue
- Proyecto abierto / exportado desde una versión anterior de IntelliJ (como IntelliJ14). Esto sucedió con éxito y lo verifiqué haciendo el proyecto y ejecutando un caso de prueba.
- Luego importé ese proyecto nuevamente a través de IntelliJ 2016. Después de eso funcionó bien (compilación y ejecución de casos de prueba).
Tenía el mismo mensaje. Tuve que eliminar la configuración Run / Debug.
En mi caso, ejecuté la prueba de la unidad como una prueba local antes. Después de eso, moví mi prueba al paquete androidTest e intenté ejecutarlo nuevamente. Android Studio recordó la última configuración de ejecución, por lo que intentó ejecutarla nuevamente como una prueba de unidad local que produjo el mismo error.
Después de eliminar la configuración y ejecutar la prueba nuevamente, generó una nueva configuración y funcionó.
Tuve el mismo problema (Android Studio 3.2 Canary 4) y probé la mayoría de las sugerencias descritas en otras respuestas, sin ningún éxito.
Tenga en cuenta que esto sucedió después de mover el archivo de
test
a la carpeta
androidTest
.
Todavía se mostraba en configuraciones de ejecución como prueba en lugar de prueba instrumentada.
Finalmente termino creando un nuevo archivo:
- Cree una nueva clase de prueba instrumentada con un nombre diferente.
- Copie todo el código de su clase.
- Ejecutarlo.
- Eliminar la clase anterior.
- Cambie el nombre de la nueva clase al nombre deseado.
Tuve el mismo problema y la reconstrucción / invalidación de caché, etc.no funcionó. Parece que eso es solo un error en Android Studio ...
Una solución temporal es simplemente ejecutar sus pruebas unitarias desde la línea de comando con:
./gradlew test
Ver: https://developer.android.com/studio/test/command-line.html
Tuve el mismo problema. En mi caso, tuve algunas clases de prueba en un paquete / carpeta fuera de la carpeta principal. Pero cuando revisé la configuración Ejecutar, siempre estaba tratando de buscar clases dentro de la carpeta principal (y no mis paquetes fuera de main). Entonces, si ese es el caso, debe mover sus paquetes a donde apunta la configuración Ejecutar. O cambie la configuración de ejecución para que apunte a sus paquetes.
Tuve el mismo problema. Reconstruí el proyecto y me ayudó.
Vaya a Compilar -> Proyecto de reconstrucción
Después de eso, si está utilizando la herramienta Maven, le recomiendo usar la opción Reimportar todos los proyectos Maven
Si no ayuda, pruebe otras posibles soluciones:
- Vaya a Archivo -> Invalidar cachés / reiniciar -> Invalidar y reiniciar
o:
-
En su estructura de proyecto Maven
src / main / java,
haga clic con el botón derecho en el directorio
java
y seleccione la opción
Marcar directorio como
->
Rooteo de fuentes
Del mismo modo, haga lo mismo con el directorio de prueba , así que: src / test / java haga clic derecho en el directorio de java y seleccione la opción Marcar directorio como -> Raíz de fuentes de prueba
o:
- Vaya a Ejecutar -> Editar configuraciones y en la sección JUnit elimine las configuraciones de prueba. Aplicar los cambios. Luego, intente ejecutar sus pruebas. La nueva configuración debe crearse automáticamente.
o:
-
Vaya a
Archivo -> Estructura del proyecto
, seleccione
Módulos
, luego seleccione su módulo adecuado y vaya a la pestaña
Rutas
.
Consultar opciones:
Botón de radio Se debe seleccionar la ruta de salida de compilación del módulo de uso .
La ruta de salida debe estar dentro de su proyecto. También la ruta de salida de prueba debe ser un directorio dentro de su proyecto. Por ejemplo, puede verse de manera similar:
Ruta de salida: C: / ruta / a / su / módulo / suMódulo / objetivo / clases
Ruta de salida de prueba: C: / ruta / a / su / módulo / suMódulo / objetivo / clases de prueba
Excluir las rutas de salida deben estar deseleccionadas.
Tuve la misma pregunta cuando importé un
jar
de Maven y, posteriormente, causé el error de
empty-test-suite
.
En mi caso, fue porque el experto restableció los archivos del módulo. Lo que resolví borrando mi configuración predeterminada:
- Estructura de proyecto abierta con acceso directo shift - ctrl - alt - s
- Mire Módulos> Fuentes y complete el paquete de Fuentes o el Paquete de prueba.
Tuve un problema similar después de comenzar un nuevo proyecto IntelliJ. Descubrí que la "ruta de salida de compilación del módulo" para mi módulo no se especificó correctamente. Cuando asigné la ruta en la "ruta de salida de compilación" del módulo a la ubicación adecuada, el problema se resolvió. La ruta de salida de compilación se asigna en la configuración del proyecto. En Módulos, seleccione el módulo involucrado y seleccione la pestaña Rutas ...
Pestaña Rutas en la Configuración del proyecto | Diálogo de módulos
... Envié la salida del compilador a una carpeta llamada "salida" que está presente en la carpeta principal del Proyecto.
fui a
File -> Invalidate Caches/Restart...
y luego funcionó para mí