Je viens de commencer le programme d'informatique de mon université et j'ai quelques problèmes avec IntelliJ. Lorsque j'essaye d'exécuter des tests unitaires, j'obtiens 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 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 faire fonctionner mes tests? J'utilise la version la plus récente d'IntelliJ IDEA CE.
java
unit-testing
intellij-idea
junit
Arnbobo
la source
la source
mvn clean package
dans le terminal. Je ne sais pas pourquoi IntelliJ a importé le projet de manière incorrecte au début.Réponses:
Avait le même message. J'ai dû supprimer la configuration Exécuter / Déboguer.
Dans mon cas, j'ai déjà exécuté le test unitaire en tant que test local. Après cela, j'ai déplacé mon test vers le package androidTest et essayé de l'exécuter à nouveau. Android Studio s'est souvenu de la dernière configuration exécutée, il a donc essayé de l'exécuter à nouveau en tant que test unitaire local qui a produit la même erreur.
Après avoir supprimé la configuration et réexécuté le test, une nouvelle configuration a été générée et a fonctionné.
la source
File > Cashes / Restart
je suis allé à
et puis cela a fonctionné pour moi.
la source
J'ai eu le même problème. J'ai reconstruit le projet et cela m'a aidé.
Allez dans Build -> Rebuild Project
Après cela, 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:
De même, faites de même avec le répertoire de test afin: src / test / java faites un clic droit sur le répertoire java et sélectionnez l'option Marquer le répertoire as -> Racine des sources de test
ou:
ou:
Vérifiez les options:
Le bouton radio Utiliser le chemin de sortie de compilation du module doit être sélectionné.
Le chemin de sortie doit être à l'intérieur de votre projet. Le chemin de sortie du test doit également être un répertoire dans votre projet. Par exemple, cela peut ressembler à:
Chemin de sortie: C: \ chemin \ vers \ votre \ module \ votreModule \ cible \ classes
Chemin de sortie du test: C: \ chemin \ vers \ votre \ module \ votreModule \ cible \ test-classes
Exclure la sortie les chemins doivent être désélectionnés.
la source
Build -> Rebuild Project
) a été ce qui a fonctionné pour moi. Merci!<project-root>/src/test/java
comme racine de test, et cela aBuild -> Rebuild Project
fonctionné pour moi. De plus, lorsque les classes contenant des tests étaient dans un package avec un nom de package commençant parjava.*
, j'ai obtenu une exception de sécurité.Cela peut également se produire si votre dossier de test a été importé en tant que module séparé (un petit carré est affiché sur l'icône du dossier dans la vue du projet).
Retirez 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.
la source
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é. Quand 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 dans les paramètres du projet | Boîte de dialogue Modules
... J'ai envoyé la sortie du compilateur dans un dossier nommé "output" qui est présent dans le dossier Project parent.
la source
Dans mon cas, j'avais tout le reste 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.
la source
Donc, mon problème ici était avec les noms de dossier. J'avais appelé mon dossier de code Classes 2016/2017, ce qu'IntelliJ n'aimait pas. Supprimez simplement la barre oblique (ou tout autre caractère offensant dans le chemin), réimportez le projet et vous serez prêt à partir!
la source
Dans Android Studio 3.0 +, les tests d'interface utilisateur sont parfois interprétés comme des tests unitaires et ne demandent pas de sélection de déploiement cible. Vous pouvez aller à Modifier la configuration et le marquer comme un test d'intégration et cela commencerait à fonctionner
la source
J'ai eu le même problème et la reconstruction / invalidation du cache, etc. ne fonctionnait pas. On dirait que ce n'est qu'un bogue dans Android Studio ...
Une solution temporaire consiste simplement à exécuter vos tests unitaires à partir de la ligne de commande avec:
Voir: https://developer.android.com/studio/test/command-line.html
la source
Si le projet a un problème de compilation, les tests peuvent ne pas s'exécuter. Donc, commencez par créer le projet en tant que Build -> Build Project. Une fois la compilation réussie, relancez le test.
Si rien ne fonctionne, fermez simplement la fenêtre du projet et supprimez le projet et réimportez-le en tant que projet Gradle / Maven, ce qui définira tout pour vous en remplaçant les fichiers créés par IntelliJ existants. Cela supprimera le cache invalide créé.
Vous pouvez également simplement invalider le cache.
File -> Invalidate Caches/Restart
la source
J'ai eu la même question lorsque j'en importe
jar
de Maven, et par la suite, je cause leempty-test-suite
erreur.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:
la source
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 sur et chemin de sortie de test est 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 le chemin de sortie du test.
la source
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 de
test
versandroidTest
dossier. Il était toujours affiché dans les configurations d'exécution comme test au lieu de test instrumenté.Je finis par créer un nouveau fichier:
la source
Fait intéressant, j'ai rencontré ce problème plusieurs fois pour différentes raisons. Par exemple, invalidation du cache et redémarrage ont également aidé.
La dernière fois, je l'ai corrigé en corrigeant mon chemin de sortie dans Fichier -> Structure du projet -> Projet -> Sortie du compilateur de projet vers: chemin_absolu_du_package / out
par exemple: / Users / random-guy / myWorkspace / src / DummyProject / out
la source
La suppression
.idea
et la réimportation du projet SBT ont résolu ce problème pour moi.la source
Cela se produira également lorsque votre module et / ou project-jdk ne sont pas correctement configurés.
la source
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 laBefore launch
sectionla source
Dans mon cas, il y avait un problème avec le nom du test :).
Si le nom était:
dummyNameTest
alors n'obtenez aucun test là où trouvé, mais au cas oùtestDummyName
tout irait bienla source
J'ai eu le même problème. Dans mon cas, j'avais des classes de test dans un package / dossier en dehors du dossier principal. Mais quand j'ai vérifié la configuration Run, il essayait toujours de rechercher des classes dans le dossier principal (et non mes packages en dehors de main). Donc, si tel est le cas, vous devez soit déplacer vos packages vers où pointe la configuration Run. Ou modifiez la configuration d'exécution pour qu'elle pointe vers vos packages.
la source
Votre test nécessite-t-il un appareil Android (émulateur ou matériel)?
Si tel est le cas, il s'appelle un "test instrumenté" et réside dans "nom-module / src / androidTest / java /".
Sinon, il s'appelle un "test unitaire local" 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 des tests instrumentés. Déplacer le test de l'unité locale dans le dossier "src / test / java" l'a corrigé pour moi.
la source
Obtenait 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 source
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.
la source
Pour moi, le projet a été compilé en dehors du projet. Je change juste de chemin. Pour changer le chemin (j'utilise mac).
la source
Dans mon cas, le problème a été résolu en allant dans mon
build.gradle
et en changeantdependencies { testImplementation 'junit:junit:4.12' }
à
dependencies { testCompile 'junit:junit:4.12' }
la source
J'ai essayé toutes les solutions mais aucune n'a aidé. À la fin, j'exécute le test en mode débogage et .... cela a commencé à fonctionner. Peut-être que la cache d'un maven a été nettoyée. C'est difficile à dire. Ça marche. Essayer
mvn test -X
la source
Cliquez simplement sur le bouton droit de votre souris sur le fichier dans la fenêtre Projets et sélectionnez
"Exécutez votre test ".
Tout commence maintenant correctement, probablement parce qu'une configuration d'exécution défectueuse est en cours de reconstruction.
la source
Cela peut arriver (au moins une fois pour moi;) après l'installation de la nouvelle version d'IntelliJ et les plugins IntelliJ ne sont pas encore mis à jour.
Vous devrez peut-être effectuer manuellement le
Check for updates…
menu Aide IntelliJ.la source
Dans la structure de votre projet Maven src / main / java, faites un clic droit sur le répertoire java et sélectionnez l'option Marquer le répertoire comme -> Racine des sources
De même, faites de même avec le répertoire de test: src / test / java faites un clic droit sur le répertoire java et sélectionnez l'option Marquer le répertoire comme -> Racine des sources de test
A travaillé pour moi :-)
la source
suivez les étapes ci-dessous dans Intellij (avec des captures d'écran pour une meilleure compréhension):
naviguez vers les modules et sélectionnez maintenant le module dans lequel votre fichier de test Junit est présent et sélectionnez le bouton radio "Utiliser le chemin de sortie de compilation du module".
Mentionnez le chemin du dossier des classes respectives, semblable à la capture d'écran ci-jointe.
la source
Même problème ici en utilisant IDEA 15.0.6, et rien n'a aidé sauf lorsque j'ai renommé le package dans lequel se trouvait la classe de test. Ensuite, je l'ai renommé à son nom d'origine et cela fonctionnait toujours, donc l'action de changement de nom aurait pu effacer une partie du cache.
la source