紧跟上一篇博客:Spring Boot整合mybatis
一.首先查看pom.xml中是否有下面的依赖
一般新建Spring Boot项目都会自动生成,如果没有,就手动添加:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
二.测试之前,先了解一下基本注解
@RunWith
:标识为JUnit的运行环境@SpringBootTest
:获取启动类、加载配置,确定装载Spring Boot@Test
:声明需要测试的方法@BeforeClass
:针对所有测试,只执行一次,且必须为static void@AfterClass
:针对所有测试,只执行一次,且必须为static void@Before
:每个测试方法前都会执行的方法@After
:每个测试方法前都会执行的方法@Ignore
:忽略方法@Transactional
: 不会让测试污染数据库, 如把“@Transactional”去掉的话,数据库就会正常插入了。
三. 断言测试
- Assert.assertEquals 对比两个值相等
- Assert.assertNotEquals 对比两个值不相等
- Assert.assertSame 对比两个对象的引用相等
- Assert.assertArrayEquals 对比两个数组相等
- Assert.assertTrue 验证返回是否为真
- Assert.assertFlase 验证返回是否为假
- Assert.assertNull 验证null,null才通过
- Assert.assertNotNull 验证非null,不为空才通过
四.业务层和dao层差不多,以测试业务层为例
1.选中要测试的业务实现类—》右击—》搜索Junit—>>Junit test Case—》next
2.改变Source folder为spring-boot-base-demo/src/test/java,也就是你的测试folder下
注意:我们这边引用的是junit4,那有些小伙伴加的junit3。那他们的区别是什么呢?junit3需要继承TestCase这个类,而我们junit4不需要。
3.next—>勾选你要测试的方法—》finnish
4.编写测试,双击选中测试的方法–》右击–》Run As—>Junit Test
五.控制层单元测试
每次进行单元测试,都预先执行@before中的setup方法,生成mockMvc实例。
ResultAction是用来模拟Browser发送请求。
MvcResult是获得服务器的Response内容。
源码:https://github.com/yundiangeqian/spring-boot-base-demo
上一篇:Spring Boot整合mybatis
下一篇:Spring Boot整合thymeleaf并进行异常处理