Конфигурация Gradle 4.7 для генерации отчета в формате HTML для тестов JUnit 5

У меня есть приложение, основанное на следующем:

  • Spring Framework 5.0.4.RELEASE
  • Gradle 4.7 - многомодульный проект, настроенный через
  • JUnit 5.1.1

Конфигурация о Gradle с JUnit находится в build.gradle файл находится в корневом модуле:

...
subprojects {

    apply plugin: 'java'
    apply plugin: 'eclipse'
    apply plugin: 'org.junit.platform.gradle.plugin'

    sourceCompatibility = '1.8'
    targetCompatibility = '1.8'

    repositories {
        jcenter()
    }

    ext {
      ...
      junitVersion = '5.1.1'
      ...
    }

    dependencies {

       ...

       //Testing
       ...
       testImplementation "org.junit.jupiter:junit-jupiter-api:$junitVersion"
       testCompile "org.junit.jupiter:junit-jupiter-params:$junitVersion";
       testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:$junitVersion"
       ....

    }

    test {
        useJUnitPlatform()      
    }

}

//This location is mandatory
buildscript {

    repositories {
        mavenCentral()
    }

    dependencies {      
        classpath "org.junit.platform:junit-platform-gradle-plugin:1.1.0"
    }

}

Через Jenkins Я выполняю:

  • gradle :thymeleaf-02-infrastructure:test --parallel
  • и с Publish JUnit test result report настроен на thymeleaf-02-infrastructure/build/test-results/junit-platform/*.xml

Сверху все отлично работает, я вижу в Jenkins @Test прошло но Gradle не генерирует report каталог с ожидаемым html файл.

Даже если непосредственно gradle :thymeleaf-02-infrastructure:test --parallel команда выполняется в терминале, все работает (тесты пройдены), но Gradle не генерирует report каталог с ожидаемым html файл.

Я уже прочитал эти ссылки:

И хорошо я использую

test {
    useJUnitPlatform()      
}

а также Gradle > 4.6, 4.7, так чего не хватает?

1 ответ

Решение

Вы должны удалить org.junit.platform.gradle.plugin потому что это отключает стандарт test задание по умолчанию.

Другие вопросы по тегам