IDEA IntelliJ Wie kann man ein JUnit Test bei IntelliJ durchführen?

K

kneitzel

Gast
In IntelliJ hast Du eine Projektverwaltung. Und im Projektfenster können Ordner markiert sein als Source Ordner oder Test Ordner

Wenn Du sowas hast, dann kannst Du:
- in dem Project Fenster auf einen Ordner (ab dem für Tests markierte Ordner) klicken und "Run all Test" sagen
- Auf eine Klasse innerhalb dieses Ordners klicken und Run all Tests sagen
- Wenn so eine Klasse geöffnet ist, dann kannst Du bei der class Zeile auf die grünen Pfeile klicken um alle Tests der Klasse zu starten oder bei einem einzelnen Test den grünen Pfeil drücken um nur diesen Test auszuführen.

Das wär eine Möglichkeit. Es gibt noch einiges mehr. So wird eine Run Configuration erstellt und die kannst Du immer wieder neu starten.
Oder je nach Projekt kann man das auch über weitere Wege starten (z.B. bei Maven aus dem Maven Tool-Fenster).
 

9GRAMM

Mitglied
Vielen Dank erstmal für die ausführliche Erklärung und sorry für meine Blödheit, ich komme trotzdem damit nicht weiter.
Ich habe neben "src" Ordner nur noch "out" und ".idea"
Also einzige was ich dort gefunden habe ist, wenn man oben auf Projekt Dropdown-Liste
klickt, sieht man ein Test (Project > Project Files > Tests) Wenn man aber drauf klickt dann sieht man das es noch keine erstellt hat. Das ist aber hier die Frage wie soll man es erstellen?
In IntelliJ hast Du eine Projektverwaltung. Und im Projektfenster können Ordner markiert sein als Source Ordner oder Test Ordner

Wenn Du sowas hast, dann kannst Du:
- in dem Project Fenster auf einen Ordner (ab dem für Tests markierte Ordner) klicken und "Run all Test" sagen
- Auf eine Klasse innerhalb dieses Ordners klicken und Run all Tests sagen
- Wenn so eine Klasse geöffnet ist, dann kannst Du bei der class Zeile auf die grünen Pfeile klicken um alle Tests der Klasse zu starten oder bei einem einzelnen Test den grünen Pfeil drücken um nur diesen Test auszuführen.

Das wär eine Möglichkeit. Es gibt noch einiges mehr. So wird eine Run Configuration erstellt und die kannst Du immer wieder neu starten.
Oder je nach Projekt kann man das auch über weitere Wege starten (z.B. bei Maven aus dem Maven Tool-Fenster).
 
K

kneitzel

Gast
Ok, es geht also erst einmal um die reine Erstellung. Ich gehe im Folgenden davon aus, dass Du ein einfaches Java Projekt in IntelliJ erzeugt hast.

1. Leg erst einmal einen neuen Ordner in deinem Projekt an. Das kann z.B. test-src sein. Da dann Rechtsclick Mark directory as -> Test Sources Root

2. Dann brauchst Du ggf. noch die Abhängigkeit zu JUnit. Dazu gehst Du im Projektfenster auf dein Projekt, Rechtsclick und Open Module Settings.
2.1. Dann gehst Du auf Libraries und dann in der mittleren Spalte auf das + -> from Maven um dann im Fenster einzugeben: org.junit.jupiter:junit-jupiter:5.8.0 -> nachdem Laden fragt IntelliJ, ob diese Abhängigkeit zu dem Modul hinzufügen soll. Das muss kommen.
2.2. Wechsel nun von Libraries auf Modules - da solltest Du das Modul deines Projektes sehen. Und da musst Du die Dependencies anpassen:
Du solltest junit-jupiter dort sehen mit einem Compile. Das Compile änderst Du auf Test, denn junit brauchst Du nur für fürs Testen.

3. Erster Unit-Test in test-src erstellst Du eine neue Java Klasse (FirstTest oder wie Du diese nennen willst). Hinweis: Ich gehe hier einfach mal kurz vor, wie ich sowas machen würde - incl. der "IntelliJ Unterstützung".
3.1 In der Klasse schreibst Du eine Methode:
Java:
public void testJUnit() {
}
3.2 Vor die Methode schreibst Du dann @test und IntelliJ sollte schon beim Schreiben vorschlagen: org.junit.jupiter.api.Test so dass bei einem Abschicken mit Return Taste auch automatisch der Import kommt.
3.3 In die Methode kommt nun einfach ein fail("Unittest runs!"); Das fail ist rot und Du kannst dann ein Alt Return (oder über die "Glühbirne") mit IntelliJ ein Import hinzufügen: Import static method ..... Assertions.fail

Und schon hast Du Deinen ersten Test. Ein Klick auf die zwei grünen Pfeile bei der Klasse sollte den Test starten.
Der Test schlägt dann natürlich fehl: org.opentest4j.AssertionFailedError: Unittest runs!

Die ganze Klasse einmal incl. der imports:
Java:
import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.fail;

public class FirstTest {
    @Test
    public void testJUnit() {
        fail("Unittest runs!");
    }
}
 

9GRAMM

Mitglied
Ok, es geht also erst einmal um die reine Erstellung. Ich gehe im Folgenden davon aus, dass Du ein einfaches Java Projekt in IntelliJ erzeugt hast.

1. Leg erst einmal einen neuen Ordner in deinem Projekt an. Das kann z.B. test-src sein. Da dann Rechtsclick Mark directory as -> Test Sources Root

2. Dann brauchst Du ggf. noch die Abhängigkeit zu JUnit. Dazu gehst Du im Projektfenster auf dein Projekt, Rechtsclick und Open Module Settings.
2.1. Dann gehst Du auf Libraries und dann in der mittleren Spalte auf das + -> from Maven um dann im Fenster einzugeben: org.junit.jupiter:junit-jupiter:5.8.0 -> nachdem Laden fragt IntelliJ, ob diese Abhängigkeit zu dem Modul hinzufügen soll. Das muss kommen.
2.2. Wechsel nun von Libraries auf Modules - da solltest Du das Modul deines Projektes sehen. Und da musst Du die Dependencies anpassen:
Du solltest junit-jupiter dort sehen mit einem Compile. Das Compile änderst Du auf Test, denn junit brauchst Du nur für fürs Testen.

3. Erster Unit-Test in test-src erstellst Du eine neue Java Klasse (FirstTest oder wie Du diese nennen willst). Hinweis: Ich gehe hier einfach mal kurz vor, wie ich sowas machen würde - incl. der "IntelliJ Unterstützung".
3.1 In der Klasse schreibst Du eine Methode:
Java:
public void testJUnit() {
}
3.2 Vor die Methode schreibst Du dann @test und IntelliJ sollte schon beim Schreiben vorschlagen: org.junit.jupiter.api.Test so dass bei einem Abschicken mit Return Taste auch automatisch der Import kommt.
3.3 In die Methode kommt nun einfach ein fail("Unittest runs!"); Das fail ist rot und Du kannst dann ein Alt Return (oder über die "Glühbirne") mit IntelliJ ein Import hinzufügen: Import static method ..... Assertions.fail

Und schon hast Du Deinen ersten Test. Ein Klick auf die zwei grünen Pfeile bei der Klasse sollte den Test starten.
Der Test schlägt dann natürlich fehl: org.opentest4j.AssertionFailedError: Unittest runs!

Die ganze Klasse einmal incl. der imports:
Java:
import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.fail;

public class FirstTest {
    @Test
    public void testJUnit() {
        fail("Unittest runs!");
    }
}
👏 Wow, sehr präzise und maximal detailliert! Vielen lieben Dank. Es hat super geklappt. Einzige Sache was ich nicht verstehe, warum so kompliziert von IntelliJ gedacht, wenn es bei Eclipse mit einem Klick geht. 😕
 
K

kneitzel

Gast
Ist immer die Frage, wie man ein Projekt erstellt. Das wird in IntelliJ auch ähnlich einfach gehen. Gibt ja so viele Wege, ein Projekt zu erstellen.

Unter dem Strich wäre mein Tipp eh, sich nicht auf ein Projekt einer IDE zu verlassen sondern ein Tool wie Maven oder Gradle zu nutzen. Aber das ist ein Schritt, den man in Ruhe angehen kann, wenn man nicht eh schon von zu vielen Dingen total überladen ist.
 
K

kneitzel

Gast
Die Klassen im Projekt sind ja auch keine Unit Tests. Du erstellst ja für die Klassen erst einmal Unit Tests und diese kannst Du dann ausführen.
 
K

kneitzel

Gast
Da wo du das Run 'All Tests' gefunden hast sollte auch das Debug 'All Tests' sein sowie "More Run/Debug ->". Und in dem Untermenü findest Du dann das Run 'All Tests' with Coverage.

Oder Wenn Du das über die Symbolleiste machst, dann solltest Du da haben:
- Die Run Configuration (Drop Down)
- Grüner Pfeil als Run
- Grüner Käfer als Debug
- Schild mit grünem Pfeil: Run with Coverage

Edit: Tippfehler beseitigt.
 

9GRAMM

Mitglied
Da wo du das Run 'All Tests' gefunden hast sollte auch das Debug 'All Tests' sein sowie "More Rund/Debug ->". Und in dem Untermenü findest Du dann das Run 'All Tests' with Coverage.

Oder Wenn Du das über die Symbolleiste machst, dann solltest Du da haben:
- Die Run Configuration (Drop Down)
- Grüner Pfeil als Run
- Grüner Käfer als Debug
- Schild mit grünem Pfeil: Run with Coverage
Ach genau! Vielen Dank!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
W NetBeans Junit - Test geht nicht mehr IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
J NetBeans JUnit 4.5: initialization Error caused an ERROR: Test class can only have one constructor IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
T JUnit: nach fehlgeschlagenem Test nicht abbrechen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
H kann in Eclipse org.junit nicht importieren IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
J JUnit Tests machen eclipse probleme IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
S JUnit Exception expected IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
B Eclipse Eclipse & JUnit: Zusatzhinweise ausgeben? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
S Eclipse: JUnit bei jedem Projekt automatisch hinzufügen lassen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 7
M Junit Reports sind leer IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
S Eclipse eclipse und junit IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
achillesat Eclipse RAP und JUnit Integration IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
A Junit Tests aus unterschiedlichen Projekten hintereinander ausführen? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
M Junit Testfall mehrfach ausführen? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
M junit best practices IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
L Eclipse-Projekt aus SVN so auschecken, daß Junit funktioniert IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
N Junit: datengetriebene und abhängige tests IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
0x7F800000 Wie JUnit auf 4.6 in eclipse updaten? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 17
O Junit und Eclipse IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
S JUnit: assertequal für HashSet IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
D Junit und private Methoden IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
Y Maven und JUnit IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
K [junit] wie Beispiel starten IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
T Netbeans 4.1 --> junit library could not be found ? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
M Eclipse Test über USB mit meinem XperiaV IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 13
H Test Project (x) Netbeans IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
P Test- und Produktivklassen bei gleichem Packagenamen tatsächlich in gleichem Package? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
M Test der Testeffektivität!?!? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
T Eclipse, Tomcat & Deployment zum Test IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
D Einzelnen Unit-Test mit Maven ausführen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
G unit test IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
G Alternativen zu Marathon und Abbot (GUI Test) IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
MiMa IntelliJ GIT Local Zweig?? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
D Intellij source controll zeigt nicht alle klassen an ? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
MiMa Die Sourcecode Verzeichnisse verschwinden in IntelliJ IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
M Eclipse oder IntelliJ? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 8
krgewb IntelliJ durchsucht .log-Dateien IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
Oneixee5 IntelliJ JavaEE IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
krgewb GUI-Elemente in IntelliJ verschwunden IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
MiMa IntelliJ Projekt umbenennen?? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
MiMa IntelliJ dubious ownership in reposity? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
JAnruVA IDEA IntelliJ JavaScript in IntelliJ IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
D Crawler funktioniert in intellij aber in Eclipse nicht IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
W Speicherbelegung in IntelliJ auswerten IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
N generate selected getters with intellij IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
MiMa Netbeans zu IntelliJ mit Maven konvertieren IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 14
temi IDEA IntelliJ Intellij new UI IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
D strg + alt + B funktioniert nicht [IntelliJ] IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
MiMa IntelliJ Maven Projekt erstellen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 15
MiMa IntelliJ GIT-Verzeigung zu Master hinzufügen? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 9
MiMa Nebtbeans Projekte nach IntelliJ IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
L source folder und code highlighting IntelliJ IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 21
D lesen von json Dateien in Intellij IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 13
MiMa Doppelten Code in IntelliJ finden IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
H Branches vergleichen - GIT, IntelliJ IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
frager2345 Datenbankzugriff Intellij IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 10
Y IDEA IntelliJ Warum findet IntelliJ die maven property nicht IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
J IntelliJ IDEA IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
krgewb IntelliJ Idea - Alles eingeklappt IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
LimDul IDEA IntelliJ Tipps für den Umstieg von Eclipse auf intelliJ IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
F IntelliJ IDEA Community Edition IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 26
S IDEA IntelliJ GUI Component Tree anzeigen in IntelliJ IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
D Intellij Memory Settings IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
krgewb In IntelliJ alles eingeklappt IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
N IDEA IntelliJ Intellij lässt keine neuen archetypes erstellen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
S IDEA IntelliJ Scenebuilder in Intellij Idea am MAC OS X IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
OnDemand IntelliJ Branching Master/DEV Berechtigungen möglich? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
9 IDEA IntelliJ IntelliJ lässt nicht ein Code ausführen, wenn irgendwo in andere Klasse Fehler ist. IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 12
krgewb IntelliJ - Zu application.properties springen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
O IntelliJ IDEA Lizenz IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 15
D Intellij mehrere Programme in einem Projekt bearbeiten IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 14
M Intellij build jar funktioniert nicht ! IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
Z Intellij zeight H2-Datenbank nicht an IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 9
P Maven für Intellij IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
P Intellij "httpRequest" ins Projekt mit einbinden? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 49
temi IntelliJ, Gradle und Git: gitignore IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 7
N Frage zu meinen IntelliJ-Einstellungen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
mrBrown IntelliJ 2020.1 - Maven Projekte nicht ausführbar IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 8
W IntelliJ soll nicht immer alle Code-Files checken IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
Thallius Falsches Warning in IntelliJ? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 14
D JavaFX 12 / SDK 12 -> IntelliJ error IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 7
R IDEA IntelliJ Intellij klaut mir zu viel zu viel Speicherplatz weg! IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 22
M Intellij IDEA lädt Font nicht und Darcula funktioniert nicht IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
M Intellij IDEA Programm ohne Main-Methode starten IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
Y Intellij mit Android SDK IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
B IntelliJ - .properties in jar einbinden IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 7
E Maven-Installation für Intellij IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
U IDEA IntelliJ IntelliJ IDEA automatische Formatierung deaktivieren IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
K IntelliJ unter Linux: Probleme beim Ausführen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
M Idea IntelliJ - Starten der Mainmethode ? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 10
A IDEA IntelliJ IntelliJ Maven oder Webprojekt, kann keine normalen Java Klassen erstellen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
K IDEA IntelliJ Umstieg von ADT (Eclipse) auf Android-Studio (IntelliJ IDEA) IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
R intellij idea mit SVN tortoise 1.8 verwenden IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
X "Extract Method Object" aus IntelliJ auch in Eclipse? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
U [IntelliJ] Variablen Refactoring IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
H Intellij 8.1.3 JDSK Probleme IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
S Metriktools für IntelliJ IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
M Grails Plugin in IntelliJ IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
A IntelliJ zeigt meine class-Files nicht an!? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
L Intellij IDEA 8 - Wie ist eure Meinung? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 38
J IDEA IntelliJ IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 10

Ähnliche Java Themen

Neue Themen


Oben