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
Другие вопросы по тегам