gradle

解决junit5无法使用gradle test运行测试

2018-03-17  本文已影响634人  张培_

问题描述

import org.junit.jupiter.api.DynamicTest;
import org.junit.jupiter.api.TestFactory;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Stream;
import static org.assertj.core.api.Java6Assertions.assertThat;
import static org.junit.jupiter.api.DynamicTest.dynamicTest;
public class AnagramsTest {
    @TestFactory
    Stream<DynamicTest> should_return_single_char_given_single_string() {
        return Stream.of("b", "i", "r", "o")
                .map(str -> dynamicTest("should_return_" + str + "_given_" + str, () -> {
                    List<String> actualList = Anagrams.calculate(str);
                    List<String> expectedList = Arrays.asList(str);
                    assertThat(actualList).isEqualTo(expectedList);
                }));
    }

    @TestFactory
    Stream<DynamicTest> should_return_list_given_string_with_two_char() {
        return Stream.of("bi", "br", "bo", "ir", "io", "ro")
                .map(str -> dynamicTest("should_return_list_with_two_element_given_" + str, () -> {
                    List<String> actualList = Anagrams.calculate(str);
                    assertThat(actualList).contains(str);
                    assertThat(actualList.size()).isEqualTo(2);
                }));
    }

    @TestFactory
    Stream<DynamicTest> should_return_list_given_string_with_three_char() {
        return Stream.of("bir")
                .map(str -> dynamicTest("should_return_list_with_two_element_given_" + str, () -> {
                    List<String> actualList = Anagrams.calculate(str);
                    assertThat(actualList).contains(str);
                    assertThat(actualList.size()).isEqualTo(6);
                }));
    }

    @TestFactory
    Stream<DynamicTest> should_return_list_given_string_with_four_char() {
        return Stream.of("biro")
                .map(str -> dynamicTest("should_return_list_with_two_element_given_" + str, () -> {
                    List<String> actualList = Anagrams.calculate(str);
                    assertThat(actualList).contains(str);
                    System.out.println(actualList);
                    assertThat(actualList.size()).isEqualTo(24);
                }));
    }}

思考

由上图可知,为了在java虚拟机上运行junit5,我们需要启动Junit Platform,并且还有启动Junit ENGINE

上一篇 下一篇

猜你喜欢

热点阅读