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