Вы можете использовать разные задачи Gradle для разных типов тестов. Например,
src/main/java/Example.java
class Example {
void weak() {
System.out.println("weak");
}
void strong() {
System.out.println("strong");
}
}
src/test/java/StrongTest.java
import org.junit.Test;
public class StrongTest {
@Test
public final void test() {
new Example().strong();
}
}
src/test/java/WeakTest.java
import org.junit.Test;
public class WeakTest {
@Test
public void test() {
new Example().weak();
}
}
и, наконец, build.gradle
apply plugin: 'java'
apply plugin: 'jacoco'
repositories {
mavenCentral()
}
dependencies {
testImplementation 'junit:junit:4.13'
}
test {
exclude 'WeakTest.class'
}
task weakTest(type: Test) {
include 'WeakTest.class'
}
check.dependsOn weakTest
По умолчанию test
задача выполнит все, кроме WeakTest
и будет использовать JaCoCo для сбора информации о выполнении в build/jacoco/test.exec
.
Пользовательская weakTest
задача будет выполняться только WeakTest
и будет использовать JaCoCo для сбора информации о выполнении в build/jacoco/weakTest.exec
.
По умолчанию jacocoTestReport
будет использовать информацию из build/jacoco/test.exec
для генерации HTML отчета.
Так что выполнение
gradle clean build jacocoTestReport
с использованием Gradle 6.2.1 создаст следующий отчет в каталоге build/reports/jacoco/test/html/
, который не содержит информацию о выполнении WeakTest