Gradle-Projekt ausführen von jUnit-5 tests in IntelliJ
Ich versuche beide Gradle und jUnit5 jetzt. Alles funktioniert einwandfrei außer, dass ich nicht eine spezielle jUnit-test. Der "Run " SampleTest'" - option wird nicht angezeigt, wenn ich mit der rechten Maustaste klicken Sie auf eine test-Klasse.
Habe ich die neueste version von IntelliJ (2016.1.3) Ultimate. Hier ist mein build.gradle
Datei:
repositories {
mavenCentral()
}
apply plugin: 'java'
version = '1.0.0-SNAPSHOT'
jar {
baseName = 'test-project'
}
dependencies {
testCompile group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.0.0-M1'
}
Die Projektstruktur ist der standard (wie in Maven). Und hier ist ein Beispiel für einen test:
package com.test;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
public class SampleTest {
@Test public void sampleTest() {
int test = 1;
Assertions.assertTrue(test == 1);
}
}
Was bin ich?
EDIT:
Scheint es, dass Gradle ist nicht Kommissionierung meine test entweder. Wenn ich build/reports/tests/index.html
, es gibt 0 zu testen.
LETZTE ÄNDERUNG:
Folgende @dunny ' s Antwort, hier ist was ich getan habe, damit alles funktioniert. Ich meine modifizierten build.gradle
- Datei wie folgt:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'org.junit.platform:junit-platform-gradle-plugin:1.0.0-M1'
}
}
repositories {
mavenCentral()
}
apply plugin: 'java'
apply plugin: 'org.junit.platform.gradle.plugin'
version = '1.0.0-SNAPSHOT'
jar {
baseName = 'test-project'
}
dependencies {
testCompile group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.0.0-M1'
testCompile group: 'org.junit.platform', name: 'junit-platform-runner', version: '1.0.0-M1'
testCompile group: 'junit', name: 'junit', version: '4.12'
testRuntime group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.0.0-M1'
}
test {
testLogging {
events 'started', 'passed'
}
}
In IntelliJ, ich öffnete dann die Gradle-Fenster, und klicken auf die "alle aktualisieren gradle-Projekte" - Schaltfläche zum aktualisieren der Bibliotheken.
Dann in meiner test-Klasse, ich habe @RunWith(JUnitPlatform.class)
am Anfang der Klasse Erklärung.
Und wenn ich eine gradle build
, die Ergebnisse sind hier verfügbar: build\test-results\junit-platform\TEST-junit-jupiter.xml
Du musst angemeldet sein, um einen Kommentar abzugeben.
IntelliJ 2016.1.3 nicht über support für JUnit-5-tests. Sie können jedoch hinzufügen der annotation
@RunWith(JUnitPlatform.class)
, die würde führen Sie Ihre Tests in einer JUnit 4-Kompatibilität-Modus (können Sie immer noch alle JUnit-5-features). Sehen http://junit.org/junit5/docs/current/user-guide/#running-tests-junit-platform-runner für weitere Informationen.Für Gradle müssen Sie den Gradle JUnit-5-plugin, um die Unterstützung zu aktivieren:
Sehen http://junit.org/junit5/docs/current/user-guide/#running-tests-build
Die neueste Idee 2016.2 unterstützt JUnit-5-Rahmen jetzt. Sie können direkt JUnit5 test ohne junit-gradle-plugin nicht mehr. Bitte sehen WAS IST NEU IN INTELLIJ IDEA. Nachdem Sie aktualisiert Ihre Idee zu dieser neuen version, können Sie ein gradle Projekt und führen Sie folgende Schritte aus, um zu testen, wie zum ausführen von JUnit-5-test.
bauen.gradle
Erstellen Sie eine Klasse FirstJUnit5Test in der test-Quellordner
UPDATE
IDEE 2016.3.3 und höher, die
dependencies
Konfiguration kann vereinfacht werden zu:Müssen Sie führen Sie Ihre tests mit JUnit 4 runner, da IntelliJ 2016.1.3 nicht haben JUnit-5-test-runner.
Wenn Sie ausgehend von dem Beispiel
pom.xml
verbunden, die in der Dokumentation, https://github.com/junit-team/junit5-samples/blob/r5.0.0-M1/junit5-maven-consumer/pom.xml, führen Sie dann die folgenden zwei Dinge.Fügen Sie eine weitere Abhängigkeit
dann machen Sie Ihren test-Klasse public und mit Anmerkungen versehen Sie es mit
@RunWith(JUnitPlatform.class)
.Ihre IDE erkennt jetzt die Klasse als test-und integration.