205 votes

Classe non trouvée : Suite de tests vide dans IntelliJ

Je viens de commencer le programme d'informatique de mon université, et j'ai quelques problèmes avec IntelliJ. Lorsque j'essaie d'exécuter des tests unitaires, j'obtiens le message suivant

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 le code de mon 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 faire pour que mes tests fonctionnent ? J'utilise la version la plus récente d'IntelliJ IDEA CE.

9 votes

Tant de choses peuvent mal tourner. Pour moi, c'était aussi simple que de taper mvn clean package dans le terminal. Je ne sais pas pourquoi IntelliJ a importé le projet de manière incorrecte au début.

1 votes

Pour moi, il suffit de créer le dossier "test resource Root"...

114voto

com2ghz Points 11

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

Dans mon cas, j'ai exécuté le test unitaire comme un test local avant. Après cela, j'ai déplacé mon test vers le package androidTest et j'ai essayé de l'exécuter à nouveau. Android Studio s'est souvenu de la configuration de la dernière exécution et a donc essayé de l'exécuter à nouveau en tant que test unitaire local, ce qui a produit la même erreur.

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

enter image description here

0 votes

Je pense que dans la plupart des cas, votre solution serait la plus universelle et la moins magique. Cela a fonctionné dans mon projet comme un charme.

0 votes

J'ai essayé mais ça n'a pas marché tout seul. J'ai également dû invalider les encaissements. File > Cashes / Restart

0 votes

Je l'ai essayé et j'ai également invalidé les encaissements. Mais ça ne marche toujours pas.

75voto

user674669 Points 479

Je suis allé à

File -> Invalidate Caches/Restart...

et ensuite ça a marché pour moi.

6 votes

J'ai fait cela, puis j'ai également dû supprimer les configurations de test.

2 votes

Cela n'a pas aidé dans mon cas.

0 votes

Fichier > Invalider les caches/Redémarrer >. Redémarrez simplement a fonctionné pour moi

68voto

Schakal Points 361

J'ai eu le même problème. J'ai reconstruit le projet, et ça m'a aidé.

Aller à Construire --> Projet de reconstruction

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

Si cela n'aide pas, essayez d'autres solutions possibles :

  • Aller à Fichier --> Invalider les caches/redémarrer --> Invalider et redémarrer

ou :

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

    Faites de même avec test ainsi : src/test/java cliquez avec le bouton droit de la souris sur java et sélectionnez l'option Marquer le répertoire comme --> Test Sources Racine

ou :

  • Aller à Exécuter --> Modifier les configurations et dans la section JUnit supprimer les configurations de test. Appliquez les changements. Ensuite, essayez d'exécuter vos tests. La nouvelle configuration devrait être créée automatiquement.

ou :

  • Aller à Fichier --> Structure du projet , sélectionnez Modules puis sélectionnez le module qui vous convient et allez dans l'onglet "Module". Chemins d'accès onglet.
    Vérifiez les options :
    Bouton radio Utiliser le chemin de sortie de la compilation du module doit être sélectionné.

    Chemin de sortie doit se trouver dans votre projet. Aussi Chemin de sortie de test doit être un répertoire dans votre projet. Par exemple, cela peut ressembler à cela :
    Chemin de sortie : C:\path\to\your\module\yourModule \target\classes
    Test Chemin de sortie : C:\path\to\your\module\yourModule \target\test -classes

    Exclure les voies de sortie doit être désélectionné.

12 votes

Reconstruire le projet ( Build -> Rebuild Project ) est ce qui a fonctionné pour moi. Merci !

0 votes

Cette solution a fonctionné pour moi, la dernière chose concernant les modules et l'utilisation d'un chemin de sortie. Merci.

1 votes

Comme solution plus désespérée, supprimez le fichier .idea et ouvrez à nouveau le projet. Vous perdrez cependant certaines configurations/réglages.

20voto

Tobi Points 1024

Cela peut également se produire si votre dossier de test a été importé en tant que module séparé (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 DEL .
Ensuite, commencez votre test.
Si une boîte de dialogue s'affiche avec un message d'erreur indiquant qu'aucun module n'est sélectionné, indiquez votre module racine dans la liste déroulante.

3 votes

C'était également mon problème (carré sur le dossier de test - je n'aurais pas su ce que cela signifiait !); pour le résoudre, j'ai ouvert la configuration d'exécution et j'ai trouvé que "Use class path of module :" était défini sur le module de test. Je l'ai remplacé par le chemin de la classe de mon projet, et cela a bien fonctionné. Merci de m'avoir signalé le problème du "module séparé" !

0 votes

C'est exactement ce qui m'est arrivé. J'ai créé un projet Spring en utilisant start.spring.io et je l'ai ouvert. Ensuite, j'ai lancé le SpringBootTest et j'ai rencontré l'erreur "Class not found : "... "Empty test suite". Après avoir suivi votre solution, appuyé sur le bouton SUPPRIMER du dossier de test et recréé la configuration d'exécution, tout allait bien. Conseil supplémentaire : lorsque vous appuyez sur le bouton de suppression du dossier de test, une boîte de dialogue s'affiche et dit quelque chose comme "aucun fichier ne sera supprimé". N'ayez donc pas peur d'appuyer sur le bouton.

0 votes

Hé, merci Bro, ça a marché pour moi.

14voto

DStanton Points 111

J'ai eu un problème similaire après avoir démarré un nouveau projet IntelliJ. J'ai découvert que le "chemin de sortie de compilation du module" de 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 attribué dans les paramètres du projet. Sous Modules, sélectionnez le module concerné et sélectionnez l'onglet Chemins...

Onglet Chemins d'accès dans la boîte de dialogue Paramètres du projet | Modules

screenshot

...J'ai envoyé la sortie du compilateur dans un dossier nommé "output" qui est présent dans le dossier parent du projet.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X