疯狂的狮子Li
2022-10-28 6e8ef308ed529cffda6c020bfb0e64974737aa59
add 增加 junit5 单元测试案例
已添加4个文件
已修改2个文件
259 ■■■■■ 文件已修改
pom.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/pom.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/test/java/com/ruoyi/test/AssertUnitTest.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/test/java/com/ruoyi/test/DemoUnitTest.java 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/test/java/com/ruoyi/test/ParamUnitTest.java 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/test/java/com/ruoyi/test/TagUnitTest.java 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pom.xml
@@ -365,6 +365,18 @@
                    </annotationProcessorPaths>
                </configuration>
            </plugin>
            <!-- å•元测试使用 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.22.2</version>
                <configuration>
                    <!-- æ ¹æ®æ‰“包环境执行对应的@Tag测试方法 -->
                    <groups>${profiles.active}</groups>
                    <!-- æŽ’除标签 -->
                    <excludedGroups>exclude</excludedGroups>
                </configuration>
            </plugin>
        </plugins>
        <resources>
            <resource>
ruoyi-admin/pom.xml
@@ -78,6 +78,12 @@
            <artifactId>ruoyi-demo</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <build>
ruoyi-admin/src/test/java/com/ruoyi/test/AssertUnitTest.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,45 @@
package com.ruoyi.test;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
/**
 * æ–­è¨€å•元测试案例
 *
 * @author Lion Li
 */
@DisplayName("断言单元测试案例")
public class AssertUnitTest {
    @DisplayName("测试 assertEquals æ–¹æ³•")
    @Test
    public void testAssertEquals() {
        Assertions.assertEquals("666", new String("666"));
        Assertions.assertNotEquals("666", new String("666"));
    }
    @DisplayName("测试 assertSame æ–¹æ³•")
    @Test
    public void testAssertSame() {
        Object obj = new Object();
        Object obj1 = obj;
        Assertions.assertSame(obj, obj1);
        Assertions.assertNotSame(obj, obj1);
    }
    @DisplayName("测试 assertTrue æ–¹æ³•")
    @Test
    public void testAssertTrue() {
        Assertions.assertTrue(true);
        Assertions.assertFalse(true);
    }
    @DisplayName("测试 assertNull æ–¹æ³•")
    @Test
    public void testAssertNull() {
        Assertions.assertNull(null);
        Assertions.assertNotNull(null);
    }
}
ruoyi-admin/src/test/java/com/ruoyi/test/DemoUnitTest.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,70 @@
package com.ruoyi.test;
import com.ruoyi.common.config.RuoYiConfig;
import org.junit.jupiter.api.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.concurrent.TimeUnit;
/**
 * å•元测试案例
 *
 * @author Lion Li
 */
@SpringBootTest // æ­¤æ³¨è§£åªèƒ½åœ¨ springboot ä¸»åŒ…下使用 éœ€åŒ…含 main æ–¹æ³•与 yml é…ç½®æ–‡ä»¶
@DisplayName("单元测试案例")
public class DemoUnitTest {
    @Autowired
    private RuoYiConfig ruoYiConfig;
    @DisplayName("测试 @SpringBootTest @Test @DisplayName æ³¨è§£")
    @Test
    public void testTest() {
        System.out.println(ruoYiConfig);
    }
    @Disabled
    @DisplayName("测试 @Disabled æ³¨è§£")
    @Test
    public void testDisabled() {
        System.out.println(ruoYiConfig);
    }
    @Timeout(value = 2L, unit = TimeUnit.SECONDS)
    @DisplayName("测试 @Timeout æ³¨è§£")
    @Test
    public void testTimeout() throws InterruptedException {
        Thread.sleep(3000);
        System.out.println(ruoYiConfig);
    }
    @DisplayName("测试 @RepeatedTest æ³¨è§£")
    @RepeatedTest(3)
    public void testRepeatedTest() {
        System.out.println(666);
    }
    @BeforeAll
    public static void testBeforeAll() {
        System.out.println("@BeforeAll ==================");
    }
    @BeforeEach
    public void testBeforeEach() {
        System.out.println("@BeforeEach ==================");
    }
    @AfterEach
    public void testAfterEach() {
        System.out.println("@AfterEach ==================");
    }
    @AfterAll
    public static void testAfterAll() {
        System.out.println("@AfterAll ==================");
    }
}
ruoyi-admin/src/test/java/com/ruoyi/test/ParamUnitTest.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,72 @@
package com.ruoyi.test;
import com.ruoyi.common.enums.UserType;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.EnumSource;
import org.junit.jupiter.params.provider.MethodSource;
import org.junit.jupiter.params.provider.NullSource;
import org.junit.jupiter.params.provider.ValueSource;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Stream;
/**
 * å¸¦å‚数单元测试案例
 *
 * @author Lion Li
 */
@DisplayName("带参数单元测试案例")
public class ParamUnitTest {
    @DisplayName("测试 @ValueSource æ³¨è§£")
    @ParameterizedTest
    @ValueSource(strings = {"t1", "t2", "t3"})
    public void testValueSource(String str) {
        System.out.println(str);
    }
    @DisplayName("测试 @NullSource æ³¨è§£")
    @ParameterizedTest
    @NullSource
    public void testNullSource(String str) {
        System.out.println(str);
    }
    @DisplayName("测试 @EnumSource æ³¨è§£")
    @ParameterizedTest
    @EnumSource(UserType.class)
    public void testEnumSource(UserType type) {
        System.out.println(type.getUserType());
    }
    @DisplayName("测试 @MethodSource æ³¨è§£")
    @ParameterizedTest
    @MethodSource("getParam")
    public void testMethodSource(String str) {
        System.out.println(str);
    }
    public static Stream<String> getParam() {
        List<String> list = new ArrayList<>();
        list.add("t1");
        list.add("t2");
        list.add("t3");
        return list.stream();
    }
    @BeforeEach
    public void testBeforeEach() {
        System.out.println("@BeforeEach ==================");
    }
    @AfterEach
    public void testAfterEach() {
        System.out.println("@AfterEach ==================");
    }
}
ruoyi-admin/src/test/java/com/ruoyi/test/TagUnitTest.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,54 @@
package com.ruoyi.test;
import org.junit.jupiter.api.*;
import org.springframework.boot.test.context.SpringBootTest;
/**
 * æ ‡ç­¾å•元测试案例
 *
 * @author Lion Li
 */
@SpringBootTest
@DisplayName("标签单元测试案例")
public class TagUnitTest {
    @Tag("dev")
    @DisplayName("测试 @Tag dev")
    @Test
    public void testTagDev() {
        System.out.println("dev");
    }
    @Tag("prod")
    @DisplayName("测试 @Tag prod")
    @Test
    public void testTagProd() {
        System.out.println("prod");
    }
    @Tag("local")
    @DisplayName("测试 @Tag local")
    @Test
    public void testTagLocal() {
        System.out.println("local");
    }
    @Tag("exclude")
    @DisplayName("测试 @Tag exclude")
    @Test
    public void testTagExclude() {
        System.out.println("exclude");
    }
    @BeforeEach
    public void testBeforeEach() {
        System.out.println("@BeforeEach ==================");
    }
    @AfterEach
    public void testAfterEach() {
        System.out.println("@AfterEach ==================");
    }
}