Class Not Found: Suite de test vide dans IntelliJ

Je commence juste le programme d’informatique à mon collège et j’ai des problèmes avec IntelliJ. Quand j’essaie d’exécuter des tests unitaires, je reçois le message

Process finished with exit code 1 Class not found: "edu.macalester.comp124.hw0.AreaTest"Empty test suite. 

Je vois également un message intitulé “Aucun test n’a été trouvé” sur le côté gauche de mon écran. Mon code de test est ici:

 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); } } 

Et mon code de projet est ici:

 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; } } 

Comment puis-je faire fonctionner mes tests? Merci d’avance. J’utilise la version la plus récente d’IntelliJ IDEA CE.

Eu le même message. J’ai dû supprimer la configuration Run / Debug.

Dans mon cas, j’ai déjà effectué le test unitaire comme test local. Après cela, j’ai déplacé mon test sur le paquet androidTest et j’ai essayé de le relancer. Android Studio a mémorisé la dernière configuration, il a donc essayé de l’exécuter à nouveau en tant que test d’unité locale, produisant la même erreur.

Après avoir supprimé la configuration et relancé le test, une nouvelle configuration a été générée.

entrer la description de l'image ici

je suis allé à

 File -> Invalidate Caches/Restart... 

et puis ça a fonctionné pour moi.

J’ai eu le même problème. J’ai reconstruit le projet et cela m’a aidé.

Allez dans Build -> Rebuild Project

Ensuite, si vous utilisez l’outil Maven, je recommande d’utiliser l’option Réimporter tous les projets Maven.

Si cela n’aide pas, essayez une autre solution possible:

  • Allez dans Fichier -> Invalider les caches / Redémarrer -> Invalider et redémarrer

ou:

  • Dans votre structure de projet Maven src / main / java, cliquez avec le bouton droit sur le répertoire java et sélectionnez l’option Marquer le répertoire comme -> Sources Root

    Faites de même avec le répertoire de test pour: src / test / java cliquez avec le bouton droit sur le répertoire java et sélectionnez l’option Marquer le répertoire sous la forme -> Racine de sources de test

ou:

  • Allez dans Exécuter -> Modifier les configurations et dans la section JUnit, supprimez les configurations de test. Appliquer les modifications. Ensuite, essayez de lancer vos tests. Une nouvelle configuration doit être créée automatiquement.

ou:

  • Allez dans Fichier -> Structure du projet , sélectionnez Modules , puis sélectionnez votre module approprié et accédez à l’onglet Chemins .
    Vérifier les options:
    Bouton radio Utiliser le chemin de sortie de la compilation du module doit être sélectionné.

    Le chemin de sortie doit être à l’intérieur de votre projet. Le chemin de sortie de test doit également être un répertoire dans votre projet. Par exemple, il peut ressembler à ceci:
    Chemin de sortie: C: \ chemin \ vers \ votre \ module \ votreModule \ cible \ classes
    Chemin de sortie du test: C: \ chemin \ vers \ votre \ module \ votreModule \ target \ test-classes

    Les chemins de sortie exclus doivent être désélectionnés.

Cela peut également se produire si votre dossier de test a été importé en tant que module distinct (un petit carré apparaît sur l’icône du dossier dans la vue du projet).
Supprimez le module en sélectionnant le dossier de test dans la vue du projet et appuyez sur SUPPR .
Puis commencez votre test.
Si une boîte de dialog contextuelle apparaît avec un message d’erreur indiquant qu’aucun module n’est sélectionné, spécifiez votre module racine dans la liste déroulante.

J’ai eu un problème similaire après avoir lancé un nouveau projet IntelliJ. J’ai trouvé que le “chemin de sortie du module de compilation” pour mon module n’était pas correctement spécifié. Lorsque j’ai assigné le chemin dans le “chemin de sortie de compilation” du module à l’emplacement approprié, le problème a été résolu. Le chemin de sortie de la compilation est affecté dans les parameters du projet. Sous Modules, sélectionnez le module concerné et sélectionnez l’onglet Chemins …

Onglet Chemins dans les parameters du projet | Boîte de dialog Modules

capture d'écran

… J’ai envoyé la sortie du compilateur dans un dossier nommé “output” présent dans le dossier Project parent.

Donc, mon problème ici était avec les noms de dossier. J’avais appelé mon classeur Classes 2016/2017, ce qu’IntelliJ n’aimait pas. Supprimez simplement la barre oblique (ou tout autre caractère incriminé dans le chemin), réimportez le projet et vous serez prêt à partir!

J’ai eu la même question lorsque j’importais un jar JAR de Maven, et par la suite, provoquais l’erreur de la empty-test-suite .

En ce qui me concerne, c’est parce que le maven a réinitialisé les fichiers du module. Ce que j’ai résolu en effaçant ma configuration par défaut:

  1. Ouvrir la structure du projet avec shiftctrlalts raccourci

Capture d'écran des sources de PModules

  1. Examinez les modules> Sources et remplissez le package de sources ou le package de test.

Dans Android Studio 3.0 +, les tests de l’interface utilisateur sont parfois interprétés comme des tests unitaires et ne requièrent aucune sélection de déploiement cible. Vous pouvez aller à Modifier la configuration et le marquer comme test d’intégration et cela commencerait à fonctionner

Cela se produira également lorsque votre module et / ou votre projet-jdk ne sont pas correctement configurés.

Le projet ou le module de réimportation peut résoudre le problème. J’ai créé ce problème en renommant le nom du package lors du développement. Mais le chemin de sortie et le chemin de sortie de test constituent l’ancien chemin. Donc, intellij ne peut pas trouver la classe de l’ancien chemin. Le moyen le plus simple est donc de corriger le chemin de sortie et de tester le chemin de sortie.

Paramétrage du module Intellij

Votre test nécessite-t-il un appareil Android (émulateur ou matériel)?
Si c’est le cas, cela s’appelle un “test instrumenté” et réside dans “nom-module / src / androidTest / java /”.
Si ce n’est pas le cas, cela s’appelle un “test d’unité locale” et réside dans “nom-module / src / test / java”

https://developer.android.com/training/testing/start/index.html

J’ai eu la même erreur car j’avais écrit un test d’unité locale, mais il a été placé dans le dossier des tests instrumentés. Déplacer le test d’unité locale dans le dossier “src / test / java” l’a corrigé pour moi.

A eu la même erreur. Mon appareil n’était pas connecté au studio Android. Quand je me suis connecté au studio. Ça marche. Cela résout mon problème.

La suppression de .idea et la réimportation du projet SBT ont résolu ce problème pour moi.

C’est probablement parce que le dossier n’est pas défini comme source de test, ce qui peut être fait via Paramètres du module> Modules.

Dans mon cas, le problème a été résolu en allant dans ma build.gradle et en changeant

 dependencies { testImplementation 'junit:junit:4.12' } 

à

 dependencies { testComstack 'junit:junit:4.12' } 

Dans mon cas, IntelliJ n’a pas compilé les sources de test pour une raison étrange. J’ai simplement modifié la configuration de la construction et ajouté la clean test-comstack objective Maven dans la section Before launch

Cliquez simplement sur le bouton droit de la souris sur le fichier dans la fenêtre Projets et sélectionnez

“Run YourTest “.

Tout commence tout simplement maintenant, probablement parce que la configuration de fonctionnement défectueuse est à nouveau en cours de reconstruction.

J’ai eu le même problème (Android Studio 3.2 Canary 4) et j’ai essayé la plupart des suggestions décrites dans d’autres réponses – sans aucun succès. Notez que cela s’est produit après avoir déplacé le fichier du test vers le dossier androidTest . Il était toujours montré dans les configurations d’exécution en tant que test au lieu de test instrumenté.

Je finis par créer un nouveau fichier:

  1. Créer une nouvelle classe de test instrumentée avec un nom différent.
  2. Copiez tout le code de votre classe.
  3. Exécuter.
  4. Supprimez l’ancienne classe.
  5. Renommez la nouvelle classe au nom désiré.

Fait intéressant, j’ai fait face à ce problème plusieurs fois pour différentes raisons. Par exemple, l’ invalidation du cache et le redémarrage ont également aidé.

Enfin, je l’ai corrigé en corrigeant mon chemin de sortie dans Fichier -> Structure du projet -> Projet -> Sortie du compilateur de projet dans: chemin_absolu_de_package / sortant

pour par exemple: / Users / random-guy / myWorkspace / src / DummyProject / out

Dans mon cas, j’avais tout le rest au bon endroit, mais je travaillais sur une bibliothèque java avec kotlin . J’ai juste oublié d’appliquer le plugin:

 apply plugin: 'kotlin-android' 

Et maintenant, cela fonctionne comme prévu maintenant.

Même problème avec IDEA 15.0.6, et rien n’a été amélioré, sauf lorsque j’ai renommé le package dans lequel se trouvait la classe de test. Après quoi, je l’ai renommé et il fonctionnait toujours.

J’ai eu le même problème. Dans mon cas, j’ai eu quelques cours de test dans un paquet / dossier en dehors du dossier principal. Mais quand j’ai vérifié la configuration de Run, il essayait toujours de rechercher les classes dans le dossier principal (et non mes paquets en dehors de main). Donc, si c’est le cas, vous devez soit déplacer vos packages vers l’endroit où la configuration Run pointe. Ou changez la configuration d’exécution pour qu’elle pointe vers vos paquets.

Pour moi, c’était parce que mon projet était compilé dans un répertoire en dehors du projet. Dans les chemins, les chemins de sortie étaient \ production \ nom_projet et \ test \ nom_projet qui les mettait dans C: \ production \ nom_projet. En les transformant en chemin complet du projet, mes tests ont pu accéder aux fichiers de classe.

J’ai eu le même problème dans mon environnement également (MacOS). J’utilisais IntelliJ 2016. J’avais un projet de bibliothèque Java (gradle).

Ce que j’ai fait était

  1. Projet ouvert / exporté à partir d’une ancienne version d’IntelliJ (comme IntelliJ14). Cela s’est passé avec succès et je l’ai vérifié en faisant le projet et en exécutant un scénario de test.
  2. Ensuite, j’ai à nouveau importé ce projet via IntelliJ 2016. Après cela, cela a fonctionné correctement (construction et test en cours).

Ce qui a fonctionné pour moi était un clic droit sur le Project folder -> Maven -> Generate Sources and Update Folders du Project folder -> Maven -> Generate Sources and Update Folders

Pour moi, le projet a été compilé en dehors du projet. Je change juste le chemin. Pour changer le chemin (j’utilise Mac).

  • Allez dans Fichier -> Structure du projet
  • Aller au module sur le côté gauche.
  • Sélectionnez les chemins, sélectionnez le bouton radio (utilisez le chemin de sortie de la compilation du module)
  • Fournit un chemin de sortie et teste le chemin de sortie qui se trouve dans votre projet
  • Désélectionnez l’option Exclure les chemins de sortie.
  • Allez dans Fichier -> Cliquez sur Invalidate Cache et redémarrez

Mon correctif pour ce problème concernait les noms de dossiers et les chemins d’access.

Mon test était manquant / java / folder pour une raison quelconque et IntelliJ n’aimait pas ça.

donc de ../test/com/ .. à ../test/java/com/ ..

et c’est ok

J’ai essayé toutes les solutions mais aucune n’a aidé. À la fin, je lance un test en mode débogage et …. ça a commencé à fonctionner. Peut-être que le cache de maven a été effacé. C’est difficile à dire. Ça marche. Essayez le mvn test -X

résolu par exécuter manuellement la tâche testClasses avant d’exécuter le test unitaire.

J’ai eu le même problème et la reconstruction / invalidation du cache, etc. n’a pas fonctionné. On dirait que c’est juste un bug dans Android Studio …

Une solution temporaire consiste à exécuter vos tests unitaires à partir de la ligne de commande avec:

 ./gradlew test 

Voir: https://developer.android.com/studio/test/command-line.html