若依分离版整合单元测试
若依分离版整合单元测试
1、添加依赖,必须添加在admin的pom文件中,要不然起不来(找不到启动类)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
2、创建文件夹目录,测试类TestDemo必须写在com.cxjk下,或者com.cxjk下新建其他目录中,要不然会报错(找不到 @Autowired注入的),该测试类可作为最外层公共的,在建立controller,service包下对应的测试类
package com.cxjk;
import com.alibaba.fastjson2.JSONObject;
import com.cxjk.common.config.RuoYiConfig;
import com.cxjk.meeting.utils.AliSmsUtil;
import org.junit.jupiter.api.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.ArrayList;
import java.util.List;
@SpringBootTest
@DisplayName("单元测试类")
public class TestDemo {
@BeforeAll
public static void init(){
System.out.println("******测试开始");
}
@AfterAll
public static void end(){
System.out.println("******测试结束");
}
@BeforeEach
public void initClass(){
System.out.println("******测试开始初始化");
}
@AfterEach
public void endClass(){
System.out.println("******测试结束初始化");
}
@Autowired
private RuoYiConfig ruoYiConfig;
@DisplayName("单元测试方法1")
@Test
public void test1() {
System.out.println("方法1");
System.out.println(ruoYiConfig);
}
}
3、SpringBoot 从 2.4.X 开始默认使用 JUnit5 做单元测试,以下为单元测试各个注解
4、本文参考内容(SpringBoot 2.X 整合 JUnit5 及全方位使用手册)
https://lionli.blog.csdn.net/article/details/127576604?ydreferer=aHR0cHM6Ly9naXRlZS5jb20v
5、以上就是若依分离版整合过程,如果springboot版本较低需要整合JUnit4可参考如下内容:
(1)引入依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
(2)创建公共的单元测试类
package com.cxjk.cxcm;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.web.WebAppConfiguration;
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest
@WebAppConfiguration
public class CxcmApplicationTest {
@Before
public void init(){
System.out.println("******测试开始");
}
@After
public void end(){
System.out.println("******测试结束");
}
@BeforeClass
public static void initClass(){
System.out.println("******测试开始初始化");
}
@AfterClass
public static void endClass(){
System.out.println("******测试结束初始化");
}
}
(3)在建立controller,service包下对应的测试类
注意:SpringBoot 2.1.18.RELEASE(包含)之前的版本使用的Junit4,之后使用的是Junit5版本,Junit5 在SpringBoot 2.4.0(包含)之后的版本去除了Vintage测试引擎。2者使用的注解有的是不一样的。
注意事项:运行测试方法的时候可能会比较慢,原因是你SpringBootTest设置的默认启动整个程序了
@RunWith(SpringJunit4ClassRunner.class)
@SpringBootTest //默认启动整个程序
@SpringBootTest(classes = Application.class) //启动整个程序
@SpringBootTest(classes = Test.class) //启动Test类
更多推荐
所有评论(0)