Ich beginne gerade mit dem Informatikprogramm an meinem College und habe einige Probleme mit IntelliJ. Wenn ich versuche, Komponententests durchzuführen, wird die Meldung angezeigt
Process finished with exit code 1
Class not found: "edu.macalester.comp124.hw0.AreaTest"Empty test suite.
Außerdem wird auf der linken Seite meines Bildschirms die Meldung "Es wurden keine Tests gefunden" angezeigt. Mein Testcode ist hier:
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);
}
}
Und mein Projektcode ist hier:
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;
}
}
Wie kann ich meine Tests zum Laufen bringen? Ich verwende die neueste Version von IntelliJ IDEA CE.
java
unit-testing
intellij-idea
junit
Arnbobo
quelle
quelle
mvn clean package
des Terminals. Unsicher, warum IntelliJ das Projekt zu Beginn falsch importiert hat.Antworten:
Hatte die gleiche Nachricht. Ich musste die Run / Debug-Konfiguration entfernen.
In meinem Fall habe ich den Komponententest zuvor als lokalen Test ausgeführt. Danach habe ich meinen Test in das androidTest-Paket verschoben und versucht, es erneut auszuführen. Android Studio erinnerte sich an die Konfiguration der letzten Ausführung und versuchte, sie erneut als lokalen Komponententest auszuführen, der denselben Fehler verursachte.
Nach dem Entfernen der Konfiguration und dem erneuten Ausführen des Tests wurde eine neue Konfiguration generiert und funktioniert.
quelle
File > Cashes / Restart
ich ging zu
und dann hat es bei mir geklappt.
quelle
Ich hatte das gleiche Problem. Ich habe das Projekt neu aufgebaut und es hat mir geholfen.
Gehen Sie zu Erstellen -> Projekt neu erstellen
Wenn Sie danach das Maven-Tool verwenden, empfehle ich die Option Alle Maven-Projekte erneut importieren
Wenn es nicht hilft, versuchen Sie es mit anderen möglichen Lösungen:
oder:
Machen Sie dasselbe mit dem Testverzeichnis, also: src / test / java klicken Sie mit der rechten Maustaste auf das Java- Verzeichnis und wählen Sie die Option Verzeichnis markieren as -> Test Sources Root
oder:
oder:
Prüfen Optionen:
Optionsfeld Verwenden Modul Kompilierung Ausgabepfad ausgewählt werden soll.
Der Ausgabepfad sollte sich in Ihrem Projekt befinden. Auch Test - Ausgangspfad sollte Verzeichnis in Ihrem Projekt. Beispielsweise kann es ähnlich aussehen:
Ausgabepfad: C: \ Pfad \ zu \ Ihrem \ Modul \ IhrModul \ Ziel \ Klassen
Test Ausgabepfad : C: \ Pfad \ zu \ Ihrem \ Modul \ IhrModul \ Ziel \ Testklassen
Ausgabe ausschließen Pfade sollten abgewählt werden.
quelle
Build -> Rebuild Project
) hat bei mir funktioniert. Danke dir!<project-root>/src/test/java
als Testwurzel, und dasBuild -> Rebuild Project
hat bei mir funktioniert. Auch als die Klassen, die Tests enthielten, in einem Paket mit dem Paketnamen beginnend warenjava.*
, bekam ich eine Sicherheitsausnahme.Dies kann auch passieren, wenn Ihr Testordner als separates Modul importiert wurde (ein kleines Quadrat wird auf dem Ordnersymbol in der Projektansicht angezeigt).
Entfernen Sie das Modul, indem Sie den Testordner in der Projektansicht auswählen und drücken DEL.
Dann starten Sie Ihren Test.
Wenn ein Popup-Dialogfeld mit der Fehlermeldung angezeigt wird, dass kein Modul ausgewählt ist, geben Sie Ihr Root-Modul in der Dropdown-Liste an.
quelle
Ich hatte ein ähnliches Problem, nachdem ich ein neues IntelliJ-Projekt gestartet hatte. Ich habe festgestellt, dass der "Modulkompilierungs-Ausgabepfad" für mein Modul nicht richtig angegeben wurde. Als ich den Pfad im "Kompilierungsausgabepfad" des Moduls dem richtigen Speicherort zuordnete, wurde das Problem behoben. Der Kompilierungsausgabepfad wird in den Projekteinstellungen zugewiesen. Wählen Sie unter Module das betreffende Modul aus und wählen Sie die Registerkarte Pfade ...
Registerkarte Pfade in den Projekteinstellungen | Modul-Dialog
... Ich habe die Compiler-Ausgabe an einen Ordner mit dem Namen "Ausgabe" gesendet, der im übergeordneten Projektordner vorhanden ist.
quelle
In meinem Fall hatte ich alles andere am richtigen Ort, aber ich arbeitete an einer Java-Bibliothek mit Kotlin . Ich habe nur vergessen, das Plugin anzuwenden:
Und jetzt funktioniert es wie erwartet.
quelle
Mein Problem hier war also mit Ordnernamen. Ich hatte meinen Codeordner Classes 2016/2017 aufgerufen, was IntelliJ nicht gefiel. Entfernen Sie einfach den Schrägstrich (oder ein anderes beleidigendes Zeichen im Pfad), importieren Sie das Projekt erneut und los geht's!
quelle
In Android Studio 3.0 + werden UI-Tests manchmal als Komponententests interpretiert und es wird nicht nach der Auswahl der Zielbereitstellung gefragt. Sie können zu Konfiguration bearbeiten gehen und es als Integrationstest markieren, und es würde funktionieren
quelle
Ich hatte das gleiche Problem und das Wiederherstellen / Ungültigmachen des Caches usw. funktionierte nicht. Scheint, als wäre das nur ein Fehler in Android Studio ...
Eine vorübergehende Lösung besteht darin, Ihre Komponententests über die Befehlszeile auszuführen mit:
Siehe: https://developer.android.com/studio/test/command-line.html
quelle
Wenn das Projekt ein Kompilierungsproblem aufweist, werden möglicherweise keine Tests ausgeführt. Erstellen Sie also zuerst ein Projekt als Build -> Build Project. Führen Sie den Test nach erfolgreicher Kompilierung erneut aus.
Wenn nichts funktioniert, schließen Sie einfach das Projektfenster, löschen Sie das Projekt und importieren Sie es erneut als Gradle / Maven-Projekt. Dadurch wird alles für Sie festgelegt, indem die vorhandenen von IntelliJ erstellten Dateien überschrieben werden. Dadurch wird der ungültige erstellte Cache entfernt.
Sie können den Cache auch einfach ungültig machen.
File -> Invalidate Caches/Restart
quelle
Ich hatte die gleiche Frage, als ich einige
jar
aus Maven importierte und anschließend denempty-test-suite
Fehler verursachte.In meinem Fall lag es daran, dass der Maven die Moduldateien zurücksetzte. Was ich durch Löschen meiner Standardkonfiguration behoben habe:
quelle
Ich hatte das gleiche Problem (Android Studio 3.2 Canary 4) und habe die meisten in anderen Antworten beschriebenen Vorschläge ausprobiert - ohne Erfolg. Beachten Sie, dass dies passiert ist, nachdem ich die Datei aus
test
demandroidTest
Ordner verschoben habe . Es wurde in Laufkonfigurationen weiterhin als Test anstelle eines instrumentierten Tests angezeigt.Am Ende erstelle ich eine neue Datei:
quelle
Interessanterweise habe ich dieses Problem aus verschiedenen Gründen oft gesehen. Zum Beispiel den Cache ungültig machen und neu starten geholfen.
Zuletzt habe ich das Problem behoben, indem ich meinen Ausgabepfad unter Datei -> Projektstruktur -> Projekt -> Projekt-Compiler-Ausgabe korrigiert habe : absolute_path_of_package / out
für zB: / Users / random-guy / myWorkspace / src / DummyProject / out
quelle
Ein erneutes Importieren eines Projekts oder Moduls kann das Problem lösen. Ich habe dieses Problem durch Umbenennen des Paketnamens bei der Entwicklung behoben. Aber der pfad und Testausgangspfad ist der alte Weg. Intellij kann die Klasse also nicht vom alten Pfad finden. Der einfachste Weg ist also, den Ausgangspfad zu korrigieren und den Ausgabepfad zu testen.
quelle
Dies geschieht auch, wenn Ihr Modul- und / oder Projekt-JDK nicht richtig konfiguriert ist.
quelle
Das Löschen
.idea
und erneute Importieren des SBT-Projekts hat dieses Problem für mich gelöst.quelle
In meinem Fall hat IntelliJ die Testquellen aus einem seltsamen Grund nicht kompiliert. Ich habe einfach die Build-Konfiguration geändert und das Maven-Ziel
clean test-compile
imBefore launch
Abschnitt hinzugefügtquelle
In meinem Fall gab es ein Problem mit dem Testnamen :).
Wenn der Name war:
dummyNameTest
dann keine Tests bekommen, wo gefunden, aber fallstestDummyName
alles in Ordnung warquelle
Ich hatte das gleiche Problem. In meinem Fall hatte ich einige Testklassen in einem Paket / Ordner außerhalb des Hauptordners. Aber als ich die Run-Konfiguration überprüfte, versuchte ich immer, nach Klassen im Hauptordner zu suchen (und nicht nach meinen Paketen außerhalb von main). Wenn dies der Fall ist, müssen Sie Ihre Pakete entweder an die Stelle verschieben, auf die die Run-Konfiguration zeigt. Oder ändern Sie die Ausführungskonfiguration so, dass sie auf Ihre Pakete verweist.
quelle
Benötigt Ihr Test ein Android-Gerät (Emulator oder Hardware)?
Wenn ja, wird es als "instrumentierter Test" bezeichnet und befindet sich in "Modulname / src / androidTest / java /".
Wenn nicht, wird es als "lokaler Komponententest" bezeichnet und befindet sich in "Modulname / src / test / java".
https://developer.android.com/training/testing/start/index.html
Ich habe den gleichen Fehler erhalten, weil ich einen lokalen Komponententest geschrieben habe, der jedoch für instrumentierte Tests in den Ordner gelegt wurde. Das Verschieben des lokalen Komponententests in den Ordner "src / test / java" hat das Problem für mich behoben.
quelle
Erhielt den gleichen Fehler. Mein Gerät war nicht mit Android Studio verbunden. Als ich mich mit dem Studio verbunden habe. Es klappt. Dies löst mein Problem.
quelle
Dies liegt wahrscheinlich daran, dass der Ordner nicht als Testquelle festgelegt ist. Dies kann über Moduleinstellungen> Module erfolgen.
quelle
Für mich wurde das Projekt außerhalb des Projekts kompiliert. Ich ändere nur den Weg. Zum Ändern des Pfades (ich benutze Mac).
quelle
In meinem Fall wurde das Problem behoben, indem ich in meine ging
build.gradle
und mich ändertezu
quelle
Ich habe alle Lösungen ausprobiert, aber keine hat geholfen. Am Ende starte ich den Test im Debug-Modus und ... es fing an zu funktionieren. Vielleicht wurde der Cache eines Maven geleert. Es ist schwer zu sagen. Es klappt. Versuchen
mvn test -X
quelle
Klicken Sie einfach mit der rechten Maustaste auf die Datei in den Projektfenstern und wählen Sie
"Führen Sie Ihren Test aus ".
Jetzt fängt alles in Ordnung an, wahrscheinlich weil die fehlerhafte Laufkonfiguration neu erstellt wird.
quelle
Dies kann (mindestens einmal für mich;) nach der Installation der neuen Version von IntelliJ passieren und die IntelliJ-Plugins wurden noch nicht aktualisiert.
Möglicherweise müssen Sie das
Check for updates…
Menü IntelliJ Help manuell ausführen.quelle
Klicken Sie in Ihrer Maven-Projektstruktur src / main / java mit der rechten Maustaste auf das Java-Verzeichnis und wählen Sie die Option Verzeichnis als -> Quellenstamm markieren
Machen Sie dasselbe mit dem Testverzeichnis, also: src / test / java Klicken Sie mit der rechten Maustaste auf das Java-Verzeichnis und wählen Sie die Option Verzeichnis markieren als -> Test Sources Root
Arbeitete für mich :-)
quelle
Das gleiche Problem hier mit IDEA 15.0.6, und nichts hat geholfen, außer als ich das Paket umbenannt habe, in dem sich die Testklasse befand. Danach habe ich es wieder in seinen ursprünglichen Namen umbenannt und es hat immer noch funktioniert, sodass die Umbenennungsaktion möglicherweise einen Cache geleert hat.
quelle
Für mich lag es daran, dass mein Projekt in ein Verzeichnis außerhalb des Projekts kompiliert wurde. In Pfaden waren die Ausgabepfade \ Produktion \ Projektname und \ Test \ Projektname, wodurch sie in C: \ Produktion \ Projektname abgelegt wurden. Durch Ändern in den vollständigen Pfad des Projekts konnten meine Tests auf die Klassendateien zugreifen.
quelle