HTML-отчет jUnit 5 с использованием Gradle 4.6

Я пытаюсь создать HTML-отчет тестового примера JUnit 5.

Вот мой файл Gradle.build

   buildscript {
    ext {
        springBootVersion = '2.0.0.M3' 
    }
    repositories {
        maven { url 'https://zz-artifactory.zzzz.com/artifactory/maven' }
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
        classpath 'org.junit.platform:junit-platform-gradle-plugin:1.2.0-M1'
        classpath "io.spring.gradle:dependency-management-plugin:1.0.0.RC1"
    }
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'org.junit.platform.gradle.plugin'
apply plugin: "io.spring.dependency-management"
apply from: "CodeCoverage.gradle"


version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8


dependencies {
    compile('org.mybatis.spring.boot:mybatis-spring-boot-starter:1.3.2')
    compile('org.mybatis.spring.boot:mybatis-spring-boot:1.3.2')
    compile('org.mybatis.spring.boot:mybatis-spring-boot-starter-test:1.3.2')

    compile('org.springframework.boot:spring-boot-starter-web')
    compile('org.springframework.boot:spring-boot-starter-aop')

    compile("org.junit.jupiter:junit-jupiter-api:5.2.0-M1")
    compile('org.junit.jupiter:junit-jupiter-migrationsupport:5.0.2')
    compile("org.junit.jupiter:junit-jupiter-engine:5.2.0-M1")
    compile("junit:junit:4.12")
    compile("org.junit.vintage:junit-vintage-engine:5.2.0-M1")

    compile(group: 'org.junit.platform', name: 'junit-platform-launcher', version: '1.2.0-M1')
    compile(group: 'org.junit.platform', name: 'junit-platform-runner', version: '1.2.0-M1')

    testCompile('com.h2database:h2:1.4.196')
    testCompile('org.mockito:mockito-all:2.0.2-beta')
    testCompile('org.mockito:mockito-core:2.8.9')

}

test {
    useJUnitPlatform()
 }

junitPlatform {
    // platformVersion '1.2.0-M1'
    filters {
        engines {
            // include 'junit-jupiter', 'junit-vintage'
            // exclude 'custom-engine'
        }
        tags {
             include 'Smoke'
            //exclude 'slow'
        }
    }
}

subprojects {
    apply plugin: 'java'
    test {
        reports.html.enabled = false
    }
}

task testReport(type: TestReport) {
    destinationDir = file("$buildDir/reports123/allTests")
    // Include the results from the `test` task in all subprojects
    reportOn subprojects*.test
}

Я использовал testReport в соответствии с ссылками на документы Gradle.

Когда я запускаю задачу Gradle, она запускает весь тестовый пример, генерирует отчеты XML, но не создает отчет HTML.

В журнале сборки я вижу

:testReport НЕТ ИСТОЧНИКА

любое предложение, почему он говорит NO-SOURCE ??

Спасибо


person Arbind Singh    schedule 23.04.2018    source источник
comment
Спасибо. Да, он выглядит так же, как мой. Отметит это как дубликат.   -  person Arbind Singh    schedule 24.04.2018


Ответы (1)


Вы делаете одно слишком много. Вы должны либо использовать «org.junit.platform.gradle.plugin», либо test { useJUnitPlatform }, но не оба.

Стандартный тестовый отчет Gradle (html) будет работать только с последним.

person johanneslink    schedule 24.04.2018
comment
Спасибо за ответ. Я удалил org.junit.platform.gradle.plugin и смог сгенерировать html-отчет без какой-либо дополнительной конфигурации, но он не учитывает каталог src/main/java для сканирования методов тестирования. Он только сканирует src/test/java и выполняет все тестовые примеры. есть ли простой способ, где я могу использовать sourceSet и использовать их в тестовой задаче? - person Arbind Singh; 24.04.2018
comment
Я мог бы найти способ рассмотреть src/main/java для проверки метода сканирования. Я добавил ниже в gradle.build... sourceSets { test { java { srcDirs = ['src/main/java'] } resources { srcDirs = ['src/main/resources'] } } } Дайте мне знать, если есть лучший путь - person Arbind Singh; 24.04.2018