Je viens de commencer le programme d'informatique à mon collège et j'ai quelques problèmes avec IntelliJ. Lorsque 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 aussi 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 obtenir mes tests au travail? Merci d'avance. J'utilise la version la plus récente d'IntelliJ IDEA CE.
Donc, mon problème ici était avec les noms de dossiers. J'avais appelé mon dossier de code Classes 2016/2017, ce qui n'a pas plu à IntelliJ. Supprimez simplement la barre oblique (ou un autre caractère incriminé dans le chemin), réimportez le projet et vous serez prêt à partir!
Avait le même message. J'ai dû supprimer la configuration Run/Debug.
Dans mon cas, j’ai exécuté le test unitaire en tant que test local auparavant. 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 dernière configuration d'exécution et a donc essayé de l'exécuter à nouveau comme test d'unité locale, ce qui a généré la même erreur.
Après avoir retiré la configuration et relancé le test, il a généré une nouvelle configuration et a fonctionné.
Je suis allé à
File -> Invalidate Caches/Restart...
et puis cela a fonctionné pour moi.
J'ai eu le même problème. J'ai reconstruit le projet et cela m'a aidé.
Allez à Build -> Reconstruire le projet
Ensuite, si vous utilisez l'outil Maven, je vous recommande d'utiliser l'option Réimporter tous les projets Maven} _
Si cela ne vous aide pas, essayez d'autres solutions possibles:
ou:
ou:
ou:
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.
Puis commencez votre test.
Si une boîte de dialogue 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 démarré un nouveau projet IntelliJ. J'ai trouvé que le "chemin de sortie de compilation du module" 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 attribué dans les paramètres du projet. Sous Modules, sélectionnez le module impliqué et sélectionnez l'onglet Chemins ...
Chemins d'accès dans les paramètres du projet | Dialogue de modules
... J'ai envoyé la sortie du compilateur dans un dossier nommé "sortie" présent dans le dossier Projet parent.
Dans mon cas, tout était au bon endroit, mais je travaillais sur une bibliothèque Java with kotlin . J'ai juste oublié d'appliquer le plugin:
apply plugin: 'kotlin-Android'
Et maintenant, cela fonctionne comme prévu maintenant.
Dans Android Studio 3.0 +, les tests d'interface utilisateur sont parfois interprétés comme des tests unitaires et ils ne demandent pas de sélection de déploiement cible. Vous pouvez aller à Edit Configuration et le marquer comme test d’intégration et cela commencerait à fonctionner
J'avais la même question lorsque j'importais des jar
à partir de Maven, puis que je provoquais l'erreur empty-test-suite
.
Dans mon cas, c'était parce que le maven réinitialisait les fichiers du module. Ce que j'ai résolu en effaçant ma configuration par défaut:
Cela se produira également lorsque votre module et/ou votre projet-jdk ne sont pas configurés correctement.
Le projet ou le module de réimportation peut résoudre le problème ..__ J'ai résolu ce problème en renommant le nom du paquet lors du développement. Mais les chemins out et test en sortie sont les anciens. Ainsi, intellij ne peut pas trouver la classe à partir de l’ancien chemin .. Le moyen le plus simple est donc de corriger le chemin de sortie et de tester le chemin de sortie.
J'ai eu le même problème et reconstruire/invalider le cache, etc. ne fonctionnait pas. On dirait que ce n'est qu'un bug dans Android Studio ...
Une solution temporaire consiste simplement à exécuter vos tests unitaires à partir de la ligne de commande avec:
./gradlew test
Voir: https://developer.Android.com/studio/test/command-line.html
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 ceci est arrivé après que j'ai déplacé le fichier de test
dans le dossier androidTest
. Il était toujours indiqué dans les configurations d'exécution en tant que test au lieu d'un test instrumenté.
Je finis par créer un nouveau fichier:
- Créez une nouvelle classe de test instrumentée avec un nom différent.
- Copiez tout le code de votre classe.
- Exécuter.
- Supprimer l'ancienne classe.
- Renommez la nouvelle classe en nom souhaité.
Supprimer .idea
et réimporter le projet SBT ont résolu ce problème pour moi.
J'ai eu le même problème. Dans mon cas, j'avais des classes de test dans un paquet/dossier en dehors du dossier principal. Mais lorsque j'ai vérifié la configuration d'exécution, il essayait toujours de rechercher des classes dans le dossier principal (et non dans mes paquets en dehors de main). Donc, si c'est le cas, vous devez soit déplacer vos packages à l'endroit indiqué par la configuration Run. Ou modifiez la configuration d'exécution pour qu'elle pointe vers vos packages.
J'ai essayé toutes les solutions mais aucune d'entre elles n'a aidé. À la fin, je lance le test en mode débogage et .... ça commence à fonctionner. Peut-être que la cache d'un maven a été éclaircie. C'est difficile à dire. Ça marche. Essayez mvn test -X
Cela peut arriver (au moins une fois pour moi;) après l’installation de la nouvelle version d’IntelliJ et que les plugins IntelliJ n’ont pas encore été mis à jour.
Vous devrez peut-être manuellement faire le Check for updates…
à partir du menu d’Aide IntelliJ.
Cliquez simplement avec le bouton droit de votre souris sur le fichier dans la fenêtre Projets et sélectionnez
"Run YourTest ".
Tout commence bien maintenant, probablement parce que la configuration d’exécution défectueuse est en cours de reconstruction.
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.
Votre test nécessite-t-il un appareil Android (émulateur ou matériel)?
Si c'est le cas, il s'agit d'un "test instrumenté" et réside dans "nom-module/src/androidTest/Java /".
Dans le cas contraire, il est appelé "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 parce que j'avais écrit un test unitaire local, mais il a été placé dans le dossier pour les tests instrumentés. Déplacer le test d'unité locale vers le dossier "src/test/Java" l'a corrigé.
Dans mon cas, il y avait un problème avec le nom du test :).
Si name était: dummyNameTest
, aucun test n'a été trouvé, mais dans le cas où testDummyName
tout allait bien
Dans mon cas, IntelliJ n'a pas compilé les sources de test pour une raison étrange. J'ai simplement modifié la configuration de construction et ajouté l'objectif maven clean test-compile
dans la section Before launch
Recevait 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.
Dans la structure de votre projet Maven, cliquez avec le bouton droit de la souris sur le répertoire Java et sélectionnez l’option Marquer le répertoire comme -> Sources Root.
De même, faites de même avec le répertoire test pour: src/test/Java, cliquez avec le bouton droit de la souris sur le répertoire Java et sélectionnez l'option Marquer le répertoire comme -> Sources de test, racine
Travaillé pour moi :-)
Dans mon cas, le problème a été résolu en allant dans mon build.gradle
et en changeant
dependencies {
testImplementation 'junit:junit:4.12'
}
à
dependencies {
testCompile 'junit:junit:4.12'
}
Pour moi, le projet a été compilé en dehors du projet. Je viens de changer le chemin… .. Pour changer le chemin (j'utilise mac).
Si le projet a un problème de compilation, les tests risquent de ne pas être exécutés . Donc, commencez par construire le projet en tant que Build -> Build Project .
résolu en exécutant manuellement la tâche testClasses avant d'exécuter le test unitaire.
Mon correctif pour ce problème était avec les noms de dossier et les chemins.
Mon test manquait/Java/dossier pour une raison quelconque et IntelliJ n’aimait pas cela.
ainsi de ../test/com /.. à ../test/Java/com/..
et c'est ok
Pour moi, c'était parce que mon projet était en train d'être 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 plaçait dans C:\production\nom_projet. Les remplacer par le chemin complet du projet a permis à mes tests d’accéder aux fichiers de classe.
Marquez votre paquet/répertoire en tant que sources de test dans votre IntelliJ IDEA.
Même problème ici en utilisant IDEA 15.0.6, et rien ne m'a aidé, sauf lorsque j'ai renommé le paquet dans lequel se trouvait la classe de test. cache.
Ce qui a fonctionné pour moi a été un clic droit sur le Project folder -> Maven -> Generate Sources and Update Folders
Tout d’abord, nous devons comprendre pourquoi cela se produit et le message d’erreur est clair:
Le processus est terminé avec le code de sortie 1 Classe non trouvée: "edu.macalester.comp124.hw0.AreaTest" Suite de test vide.
Cela se produit donc principalement lorsque, après la création de la classe de test unitaire, nous exécutons les méthodes (tests) individuellement avant de les exécuter à partir du niveau de la classe. C'est tout
J'ai eu le même problème dans mon environnement aussi (MacOS). J'utilisais IntelliJ 2016. J'avais un projet de bibliothèque Java (gradle).
Ce que j'ai fait était