Gradle 4.6 + Junit 5: `-Dtest.single` не работает?
С Gradle 4.6 я сделал очень простой тестовый проект для проверки совместимости с JUnit 5. Кажется, что -Dtest.single
не работает Я просмотрел документы, я хотел бы запустить один тестовый класс и / или один тестовый метод. Здесь я ожидал
gradle clean -Dtest.single=junittest.SampleTests test
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':test'.
> Could not find matching test for pattern: junittest.SampleTests
У меня есть намеренно провальный тестовый пример с именем failingTest()
:
gradle clean test
> Task :test FAILED
junittest.SampleTests > failingTest() FAILED
org.opentest4j.AssertionFailedError at SampleTests.java:16
Мой build.gradle:
apply plugin: 'java'
sourceCompatibility = 8
repositories {
mavenCentral()
maven { url "http://packages.confluent.io/maven/" }
}
test {
useJUnitPlatform()
}
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:unchecked"
}
dependencies {
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.1.0'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.1.0'
}
1 ответ
Решение
Согласно документации, test.single
Опция основана на шаблонах имен файлов, т.е. при замене .
с /
, оно работает:
./gradlew clean test -Dtest.single=junittest/SampleTests
Однако, используя --tests
вариант проще в большинстве случаев:
./gradlew clean test --tests junittest.SampleTests