最近一段时间都是在补之前的技术债,一直忙着写业务代码没有注重代码的质量,leader也在强求,所有要把单元测试搞起来了
我把单元测试分为两种 一个是service的单元测试,一个是controller层的单元测试接;
单元测试肯定要引入单元测试包maven依赖
org.junit.jupiter
junit-jupiter-api
RELEASE
opentest4j
org.opentest4j
org.springframework.boot
spring-boot-starter-test
test
在介绍两个单元测试之前说一说我们一般写单元测试是不是这样的
比如只了解service单元测试而且测试代码是这样的
@RunWith(SpringRunner.class)
@SpringBootTest(classes= {NpmcsApplication.class})public classResourceServiceTest {
@AutowiredprivateResourceService resourceService;
@Testpublic voidcountTotal() {
Map map = resourceService.countTotal("2019-10-21", "2019-10-25");
System.out.printl(map);
}
}
都是传入条件直接输出当然并不能说这种不能达到测试的效果,但是我们是追求完美的coder要追求性能和代码的美观 System.out是分非常的消耗性能的,既然是单元测试肯定要有断言,这个应该都听过
测试包下面有断言的方法提供了很多
这里有很多的断言方法比如上面的代代码可以修改为
@RunWith(SpringRunner.class)
@SpringBootTest(classes= {NpmcsApplication