Bester Weg Weg: (nach 3 Jahren bearbeiten)
Es gibt noch einen besseren Weg, dies zu erreichen.
Wählen Sie das Menü "Ausführen" → "Konfigurationen bearbeiten ...". Klicken Sie in der linken oberen Ecke auf grünes Plus und wählen Sie JUnit.
Wählen Sie "Testart" bis "Muster" und geben Sie diesen regulären Ausdruck genau so ein, wie Sie ihn sehen: ^(?!.*IT$).*$
(Er beginnt mit Caret ^
und endet mit Dollar $
). In diesem regulären Ausdruck heißt es: Alle Tests, die nicht mit IT in ihrem Namen abgeschlossen werden .
Wählen Sie "Nach Tests suchen" bis "Im gesamten Projekt". Das Arbeitsverzeichnis sollte auf das Arbeitsverzeichnis des obersten Moduls eingestellt sein (es sollte standardmäßig eingestellt sein).
Geben Sie einen Namen für Ihren Test wie "Alle Unit-Tests" ein. Ich bevorzuge es auch, die Option "Teilen" zu markieren, damit diese Konfiguration später nicht verschwindet. Klicken Sie auf Übernehmen und auf OK.
Sie können mit diesem regulären Ausdruck experimentieren, um Ihren Anforderungen zu entsprechen.
Ursprüngliche Antwort:
Es ist machbar, obwohl es nicht bequem ist.
- Wählen Sie das erste Modul aus, klicken Sie mit der rechten Maustaste auf das
test/java
Verzeichnis und wählen Sie "Alle Tests ausführen". Es wird eine Testkonfiguration erstellt.
- Wählen Sie "Konfigurationen bearbeiten" und aktivieren Sie "Freigeben" für die neu erstellte Konfiguration, damit diese gespeichert wird.
- Wählen Sie das zweite Modul "Alle Tests ausführen" aus und aktivieren Sie auch in dieser Konfiguration "Freigeben".
- Klicken Sie im Abschnitt "Vor dem Start" auf "+" und wählen Sie "Eine andere Konfiguration ausführen" und anschließend die Konfiguration des ersten Moduls.
Auf diese Weise führen Sie Konfigurationen in einer Sequenz aus und jede Konfiguration erhält eine neue Registerkarte. Trotzdem besser als nichts.
Sie müssen eine "Konfiguration ausführen" erstellen:
quelle
Wählen Sie alle Module aus, klicken Sie mit der rechten Maustaste darauf und führen Sie alle Tests aus. Dadurch wird eine Konfiguration mit dem Namen "Gesamtes Projekt" erstellt, die Sie jederzeit erneut ausführen können.
Ich fand dies besser als die akzeptierte Antwort, da hierdurch die Komponententests für jedes Modul separat ausgeführt werden. Wenn Ihre Testfälle während der Laufzeit modulspezifische Ressourcen verwenden, funktioniert der beste Weg der akzeptierten Antwort nicht.
Wählen Sie alle Module aus
Klicken Sie mit der rechten Maustaste und wählen Sie, um alle Tests auszuführen
Holen Sie sich eine neue Laufkonfiguration
quelle
Für mich haben beide Lösungen nicht funktioniert oder nicht funktioniert, wie erwartet.
Für mich habe ich 3 Module. Meine Modulabhängigkeiten sehen so aus
Präsentation -> Domain -> Daten
Ich wollte nur alle Tests zusammen durchführen. Also habe ich mir den Ansatz "Über Modulabhängigkeiten hinweg" ausgedacht
Meine Einstellungen sehen folgendermaßen aus:
quelle
Dies funktionierte bei mir für ein Projekt mit mehreren Modulen.
Erstellen Sie eine neue JUnit-Run / Debug-Konfiguration. Testart: 'Alles im Paket' Nach Tests suchen: 'Gesamtes Projekt'
Sie müssen auch ein Arbeitsverzeichnis angeben.
quelle
Ein weiterer nicht so offensichtlicher Fall ist, wenn für mehr als ein Projekt eine Codeabdeckung erforderlich ist. Die naive Lösung wäre, mehrere Projekte auszuwählen und alle Unit-Tests gleichzeitig auszuführen. Wie sich herausstellt, können Komponententests fehlschlagen, wenn sich der Klassenpfad ändert und IntelliJ genau einen Klassenpfadeintrag pro Laufkonfiguration hat. In diesem Fall ist es tatsächlich ausreichend, Unit-Tests für Projekte nacheinander durchzuführen. Dies liegt daran, dass IntelliJ (2017.2.5 Community Edition) am Ende jedes Laufs fragt, ob die gesammelte Deckung die zuvor gesammelten Deckungsstatistiken ersetzen oder zu diesen hinzufügen soll.
quelle