test - Clase no encontrada: conjunto de pruebas vacío al ejecutar pruebas unitarias en Android Studio
unit test android (12)
En mi caso, esto fue causado por una excepción lanzada en el método @BeforeClass.
Tengo un conjunto de pruebas para mi aplicación de Android, y todas las pruebas unitarias funcionan bien.
Sin embargo, cada vez que hago un cambio único en una de mis clases de prueba unitaria (por ejemplo,
ModelUnitTests
), cuando intento ejecutar esa clase nuevamente, recibo este mensaje
Process finished with exit code 1
Class not found: "xxx.xxxxxx.xxx.ModelUnitTests"Empty test suite.
Si hago una limpieza de gradle y luego vuelvo a ejecutar las pruebas de clase, funciona bien (pero tarda 4 minutos en hacerlo ...), pero luego un nuevo cambio lo romperá nuevamente.
¿Algún consejo sobre cómo arreglar esto?
No estoy exactamente seguro de qué configuración de prueba debo publicar.
Estoy usando el artefacto de pruebas unitarias y mis pruebas se encuentran en la carpeta
module/src/test/package
Hoy tuve este problema con una de mis clases de prueba, y ninguna de las soluciones aquí pareció ayudar. Sin embargo, simplemente ejecutando una clase de prueba diferente lo arregló; después de eso, la problemática original se ejecutó correctamente.
La solución en Android Studio es:
- paso 1.- Ve a la configuración Ejecutar / Depurar
- paso 2.- Ve a la sección de Pruebas de Android
- paso 3.- Elimina el archivo de configuración de prueba con (-)
- paso 4.- Presiona Aplicar y OK
- paso 5.- Ejecuta la prueba nuevamente
Lo resolvió usando una versión de gradle inferior
dependencies {
classpath ''com.android.tools.build:gradle:2.0.0''
Eso tendrá que hacer por ahora
Me encontré con esto, escribiendo mis pruebas de unidad en Kotlin.
En mi caso resultó que olvidé agregar el complemento kotlin en el archivo
build.gradle
módulos dado:
apply plugin: ''kotlin-android''
Me pasó en AS 3.3.
Estoy usando sabores y esto sucedió en un módulo que solo tiene
src/main
y
src/test
.
El módulo de la aplicación tiene
src/main
src/common
y
src/flavor
.
El tipo de compilación seleccionado en AS fue
flavorDebug
.
Para solucionarlo, fui a "Ejecutar configuraciones" y en el menú desplegable "Usar classpath del módulo" se seleccionó el módulo de la aplicación. Seleccione el módulo que desea probar y listo.
Si está trabajando en un equipo, verifique todos sus archivos
build.gradle
para asegurarse de que nadie esté inhabilitando las tareas de prueba.
Tuve el error ''conjunto de pruebas vacío'' y finalmente descubrí que fue causado por lo siguiente en
build.gradle
en la raíz del proyecto:
gradle.taskGraph.whenReady {
tasks.each { task ->
if (task.name.contains("Test"))
{
task.enabled = false
}
}
}
Tuve el mismo problema. Creé Suite Class y resolvió el problema
Tuve este problema, y ninguna de las respuestas en esta publicación (o las otras publicaciones de altamente visibles) lo resolvió por mí.
Sin embargo, ejecutar manualmente la tarea
gradle compileTestKotlin
parece haber resuelto el problema por mí.
Esto fue para las pruebas de Kotlin, Android Studio 3.1.2
Tuve un problema similar y fue porque primero creé una Prueba de Unidad con el mismo nombre de clase . Cuando creé la Prueba de unidad instrumentada, recibí el error.
Para resolverlo, fui a Editar configuraciones, a la izquierda del icono de ejecución. Luego, debajo de Prueba de unidad , era la clase ''conflictiva'' , que eliminé . Haga clic en Aplicar / Ok. Luego hago clic derecho en el nombre de la clase, haga clic en ejecutar y listo, funciona.
Yo tuve el mismo problema.
Noté que el método bajo prueba se mostraba en el menú desplegable Configuración de ejecución / depuración como:
TestClassName.testMethod()
en lugar de lo correcto:
testMethod()
Lo arreglé eliminando la
TestClass.testMethod()
Run / Debug para el método de prueba que estaba dando este error, luego volví a ejecutar la prueba.
Si eso recrea el mismo problema, elimine la configuración incorrecta de Ejecutar / Depurar, luego haga clic derecho en el método de prueba y seleccione:
Create ''testMethod()''...
(en lugar de Ejecutar o Depurar) para crear una configuración de trabajo.