JUnit 5 Gradle: действительно ли тестовые классы должны иметь суффикс "Test(s)"?

Похоже, что тесты JUnit 5 не найдены, если имя файла и класса не заканчивается на "Тест" или "Тесты" при использовании Gradle. Можно ли настроить Gradle для обработки всего в test каталог как тестовые классы?

1 ответ

Решение

Из этого документа обратите внимание, что есть плагин, называемый junit-platform-gradle-plugin. Существенной частью является следующее:

junitPlatform {
    filters {
        includeClassNamePattern '.*'
    }
}

(в отличие от '.*TestCase')

Вот полный build.gradle файл (и пример, который запускает тесты с именем ExampleTestCase а также Example2):

apply plugin: 'java'

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'org.junit.platform:junit-platform-gradle-plugin:1.0.2'
    }
}

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

repositories {
    jcenter()
}

ext.junitJupiterVersion  = '5.0.2'

dependencies {
    testCompile("org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}")
    testRuntime("org.junit.jupiter:junit-jupiter-engine:${junitJupiterVersion}")
}

junitPlatform {
    filters {
        includeClassNamePattern '.*'
    }
}
Другие вопросы по тегам