Ich habe ein Problem, bei dem IntelliJ 13.1.4 beim Durchführen eines Komponententests keine ServiceLoader
-Datei im src/test/resources
-Verzeichnis meines Moduls finden kann.
Bitte beachten Sie vor der Beantwortung, dass ich Folgendes getan habe:
gradle test
starte, läuft der Komponententest einwandfrei.src/test/resources
-Verzeichnis wird als Testressourcenverzeichnis markiert. (Siehe Abbildung unten.)build/classes/test/
und build/classes/Java
, aber weder build/resources/test/
noch build/resources/main/
.Irgendwelche Ideen, woran IntelliJ sonst scheitern könnte?
Screenshot meiner Modulkonfiguration mit der Einstellung "Ressourcenordner testen".
Ich habe es geschafft, es besser zu machen, indem ich ein test-resources
-Verzeichnis parallel zum test
-Verzeichnis (!) Erstellt habe.
Immer noch Probleme mit diesem Problem zu sehen. In diesen Fällen ist es möglich, die IntelliJ-Projekteinstellungen zu öffnen und die Testressourcen stattdessen als Quelle zu definieren (das Gradle-Projekt bleibt unverändert).
Muss ein IntelliJ-Fehler sein, da ich das gleiche in Android Studio erlebt habe.
EDIT:
Ich habe eine Problemumgehung gefunden zum Problem.
Fügen Sie Folgendes am Ende der Gradle-Konfiguration hinzu (und geben Sie den Pfad für die Testressourcen an):
task copyTestResources(type: Copy) {
from "${projectDir}/src/test/resources"
into "${buildDir}/classes/test"
}
processTestResources.dependsOn copyTestResources
Mit IntelliJ 14 habe ich ein ähnliches Problem. Obwohl sich die erforderlichen Dateien in meinem Ressourcenordner befinden und sichergestellt ist, dass der Ordner in den Moduleinstellungen als Ressource angegeben ist, kann IntelliJ meine Dateien nicht in den Klassenpfad laden.
Eine Problemumgehung besteht darin, den erforderlichen Ordner als Abhängigkeit für das Modul in den Moduleinstellungen hinzuzufügen.
Klicken Sie zuerst auf die Schaltfläche "+", um eine neue Abhängigkeit hinzuzufügen.
Wählen Sie dann den Ordner aus, den Sie dem Klassenpfad hinzufügen möchten.
Dann wählen Sie die Option "Klassen".
Sobald dies erledigt ist, bauen Sie Ihr Modul einmal neu auf, und hoffentlich sollte dies der Trick sein.
Im Idealfall sollte dies überhaupt kein Thema sein. Alle Dateien im Ressourcenordner sollten direkt im Klassenpfad abgelegt werden. Allerdings hat jeder IDE seine Macken.
Wenn ich auf dasselbe Problem stieß, funktionierte es für mich, das Ressourcenverzeichnis einmal unmarkieren als Ressourcenstammverzeichnis und dann erneut als Ressourcenstammverzeichnis zu markieren:
In meinem Fall habe ich die Tests einfach über die Maven-Befehlszeile ausgeführt, d. H. Einen grundlegenden mvn clean install
. Danach hat es in IDEA funktioniert.
Ich stieß auf das gleiche Problem, bei dem Junit fehlgeschlagen war (FileNotFound), weil ich Platz in meinem Stammprojektordner hatte. zB: mein Projekt/Projekt1/....