Тег Junit 5 не работает с Gradle 6.5.1 - PullRequest
0 голосов
/ 13 июля 2020

Я изучаю JUnit 5 с Gradle 6.5.1. У меня 2 вопроса.

public class FruitCalculator {
    public int addFruit(int fruit1, int fruit2) {
        return fruit1 + fruit2;
    }

    public int subFruit(int fruit1, int fruit2) {
        return fruit1 - fruit2;
    }
}

Класс тестового примера

import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class FruitCalculatorTest {
    @Test
    @Tag("add")
    void addFruitTestTag1() {
        System.out.println("FruitCalculatorTest.addFruitTestTag1");
        FruitCalculator fruitCalculator = new FruitCalculator();
        assertEquals(2, fruitCalculator.addFruit(1, 1), "1 fruit + 1 fruit is 2 fruit");
    }

    @Test
    @Tag("sub")
    void subFruitTestTag1() {
        System.out.println("FruitCalculatorTest.subFruitTestTag1");
        FruitCalculator fruitCalculator = new FruitCalculator();
        assertEquals(1, fruitCalculator.subFruit(2, 1), "2 fruit - 1 fruit is 1 fruit");
    }
}

Файл Gradle

plugins {
    id 'java'
}

group 'org.example'
version '1.0-SNAPSHOT'

repositories {
    mavenCentral()
}

dependencies {
    testImplementation('org.junit.jupiter:junit-jupiter:5.6.2')
    testRuntimeOnly('org.junit.jupiter:junit-jupiter-engine:5.6.2')
}

test {
    useJUnitPlatform {
        includeTags 'add'
        excludeTags 'sub'
    }
}

1-> @ tag не работает. если я использую IntelliJ, он запускает все 4 тестовых примера.

2 -> in cmd -> gradle clean build test не выводит результат независимо от того, пройден ли тест или нет.

~junit5$ gradle clean build test

BUILD SUCCESSFUL in 1s
5 actionable tasks: 5 executed

даже System.out также не печатается.

1 Ответ

0 голосов
/ 13 июля 2020

, чтобы получить junit System.out и err

см. https://docs.gradle.org/current/dsl/org.gradle.api.tasks.testing.Test.html

добавить в тестовый {} блок

// show standard out and standard error of the test JVM(s) on the console
  testLogging.showStandardStreams = true
...