web-dev-qa-db-fra.com

Classe introuvable: suite de tests vide lors de l'exécution de tests unitaires dans Android Studio

J'ai une suite de tests pour mon application Android et tous les tests unitaires fonctionnent correctement. Cependant, chaque fois que je modifie une de mes classes de tests unitaires (par exemple, ModelUnitTests), lorsque je tente de réexécuter cette classe, le message suivant s'affiche:

Process finished with exit code 1
Class not found: "xxx.xxxxxx.xxx.ModelUnitTests"Empty test suite.

Si je fais un nettoyage et que je relance les tests de classe, tout se passera bien (mais cela prend 4 minutes à faire ...), mais un nouveau changement annulera le résultat.

Un conseil sur la façon de résoudre ce problème? Je ne sais pas exactement quelle configuration de test dois-je publier? J'utilise l'artefact des tests unitaires et mes tests sont situés dans le dossier module/src/test/package

52
Koitt

J'ai eu un problème similaire et c'est parce que j'ai d'abord créé un test unitaire avec le même nom de classe . Lorsque j'ai créé le test unitaire instrumenté, j'ai eu l'erreur. 

Pour le résoudre, je suis allé dans Modifier les configurations, à gauche de l'icône d'exécution. Ensuite, sous Unit Test , c’est le 'conflit' class, que j'ai supprimé . Cliquez sur Appliquer/Ok. Ensuite, je fais un clic droit sur le nom de la classe, cliquez sur Exécuter et voilà, ça marche.

59
RobertoAllende

Le correctif sur Android Studio est:

  • étape 1.- Allez à la configuration Run/Debug
  • étape 2.- Aller à la section Tests Android
  • étape 3.- Supprimer le fichier de configuration de test avec (-)
  • étape 4.- Appuyez sur Appliquer et sur OK
  • étape 5.- Relancer le test

Je viens de rencontrer ceci - écrire mes tests unitaires à Kotlin. Dans mon cas, il est apparu que j'avais oublié d'ajouter le plugin kotlin dans les modules donnés build.gradle fichier:

apply plugin: 'kotlin-Android'
6
estn

J'ai eu ce problème, et aucune des réponses sur ce post (ou les autres posts très visibles de Stack Overflow) ne l'a résolu pour moi.
Cependant, l’exécution manuelle de la tâche de classement compileTestKotlin semble avoir résolu le problème.

C'était pour les tests Kotlin, Android Studio 3.1.2

5
Squimon

Si vous travaillez en équipe, vérifiez tous vos fichiers build.gradle pour vous assurer que personne ne désactive les tâches de test. J'ai eu l'erreur 'vide test suite' et j'ai finalement trouvé que c'était causé par le suivant dans build.gradle à la racine du projet:

gradle.taskGraph.whenReady {
    tasks.each { task ->
        if (task.name.contains("Test"))
        {
            task.enabled = false
        }
    }
}
2
Jeffrey McKnight

Si vous utilisez Robolectric, vous devrez peut-être définir le répertoire de travail dans la configuration d'exécution sur $ MODULE_DIR $  enter image description here

Définissez également les options VM : -ea Ou: -noverify

http://robolectric.org/getting-started/

2
UmAnusorn

M'est arrivé dans AS 3.3. 

J'utilise des saveurs et cela s'est passé dans un module qui n'a que src/main et src/test. Le module d'application a src/mainsrc/common et src/flavor. Le type de construction sélectionné dans AS était flavorDebug

Pour résoudre ce problème, je suis allé dans "Exécuter les configurations" et dans le menu déroulant "Utiliser le chemin de classe du module", le module d'application a été sélectionné. Sélectionnez le module que vous souhaitez tester et le tour est joué!

0
tricknology

J'ai eu ce problème aujourd'hui avec l'un de mes cours de test, et aucune des solutions ici ne semblait aider. Cependant, le simple fait d’exécuter une classe de test différente a corrigé le problème. Après cela, la classe problématique a fonctionné correctement.

0
ajh3