- 前言
在日常开发中,开发者通过编写小部分代码做模块测试。Java开发中最常使用Junit单元测试框架,但是在每一个测试类上都要添加一些注解非常麻烦,测试代码看起来不是很简洁,此博客介绍在SpringBoot中通过继承一个通用类的方式,使用Junit测试框架。
- 先引用pom依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.1.6.RELEASE</version>
<scope>test</scope>
</dependency>
- 定义一个通用类
package com.lsz;
import org.junit.After;
import org.junit.Before;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.context.web.WebAppConfiguration;
import java.text.SimpleDateFormat;
/**
* 通用Junit测试类
* 继承此类后,无需再次配置参数,直接运行即可
*
* @author lishuzhen
* @date 2020/11/16 15:56
*/
@RunWith(SpringRunner.class)
@SpringBootTest
@WebAppConfiguration
public class JunitTest {
private static final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@Before
public void init() {
System.out.println("执行Junit测试代码------开始------" + sdf.format(System.currentTimeMillis()));
}
@After
public void destroy() {
System.out.println("执行Junit测试代码------结束------" + sdf.format(System.currentTimeMillis()));
}
}
- 编写一个测试类,继承通用类
package com.lsz;
import com.lsz.consumer.domain.ConsumerUser;
import com.lsz.consumer.mapper.ConsumerUserMapper;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.List;
/**
* @author lishuzhen
* @date 2020/9/4 15:48
*/
public class MyTest extends JunitTest {
@Autowired
ConsumerUserMapper consumerUserMapper;
@Test
public void testListUser(){
List<ConsumerUser> consumerUsers = consumerUserMapper.selectConsumerUserList(new ConsumerUser());
System.out.println("查询结果 ================== "+consumerUsers.size());
}
}
- 直接点击方法左侧的绿色三角或者在方法内右键 Run...
- 查看控制台日志
- 在IDEA中还可以使用 coverage 查看测试代码的覆盖率