From 6e8ef308ed529cffda6c020bfb0e64974737aa59 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期五, 28 十月 2022 23:21:44 +0800
Subject: [PATCH] add 增加 junit5 单元测试案例

---
 ruoyi-admin/src/test/java/com/ruoyi/test/AssertUnitTest.java |   45 +++++++++
 ruoyi-admin/src/test/java/com/ruoyi/test/TagUnitTest.java    |   54 ++++++++++
 ruoyi-admin/src/test/java/com/ruoyi/test/ParamUnitTest.java  |   72 ++++++++++++++
 ruoyi-admin/pom.xml                                          |    6 +
 ruoyi-admin/src/test/java/com/ruoyi/test/DemoUnitTest.java   |   70 ++++++++++++++
 pom.xml                                                      |   12 ++
 6 files changed, 259 insertions(+), 0 deletions(-)

diff --git a/pom.xml b/pom.xml
index 49fcea6..e9a611c 100644
--- a/pom.xml
+++ b/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>
diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml
index 0691a64..f966de0 100644
--- a/ruoyi-admin/pom.xml
+++ b/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>
diff --git a/ruoyi-admin/src/test/java/com/ruoyi/test/AssertUnitTest.java b/ruoyi-admin/src/test/java/com/ruoyi/test/AssertUnitTest.java
new file mode 100644
index 0000000..5b9c9f8
--- /dev/null
+++ b/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);
+    }
+
+}
diff --git a/ruoyi-admin/src/test/java/com/ruoyi/test/DemoUnitTest.java b/ruoyi-admin/src/test/java/com/ruoyi/test/DemoUnitTest.java
new file mode 100644
index 0000000..a40fd82
--- /dev/null
+++ b/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 // 姝ゆ敞瑙e彧鑳藉湪 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 ==================");
+    }
+
+}
diff --git a/ruoyi-admin/src/test/java/com/ruoyi/test/ParamUnitTest.java b/ruoyi-admin/src/test/java/com/ruoyi/test/ParamUnitTest.java
new file mode 100644
index 0000000..04bf1b5
--- /dev/null
+++ b/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 ==================");
+    }
+
+
+}
diff --git a/ruoyi-admin/src/test/java/com/ruoyi/test/TagUnitTest.java b/ruoyi-admin/src/test/java/com/ruoyi/test/TagUnitTest.java
new file mode 100644
index 0000000..04240a0
--- /dev/null
+++ b/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 ==================");
+    }
+
+
+}

--
Gitblit v1.9.3