为什么要使用springboot单元测试?
以我的运用和理解,我认为当进行springboot框架进行开发时,诸多类的管理交给了注解。当我们开发完一个功能,往往要么在网面上直接进行测试,要么写个main测试,但问题来了,main测试不直持service或controller等汲及到类初始化的地方?用网页进行测试的话那话还写个网页?于是单元测试横空出世.哈哈,其实单元测试早就出世了...
用法为:
在需要进行测试的类上ctrl + shift + t
选择Create New Test
在出现的对话框的下面member内勾选要测试的方法,点击ok
或
点击菜单栏Navigate–>test
选择Create New Test
在出现的对话框的下面member内勾选要测试的方法,点击ok
下面给出了一个示例
@RunWith(SpringRunner.class)
@SpringBootTest
public class PersonControllerTest {
@Autowired
IPersonServ personServ;
@Test
public void getLearn() {
try {
List<Employee> employeeList = personServ.findAllEmployeeAll();
System.out.println(employeeList.size());
} catch (Exception e) {
e.printStackTrace();
}
}
}
注意在pom.xml里导入jar包如下
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
上面只是针对Service层做测试,为基本用法。
下面介绍controller用法
有时候需要对Controller层(API)做测试,这时候就得用到MockMvc了,你可以不必启动工程就能测试这些接口。
MockMvc实现了对Http请求的模拟,能够直接使用网络的形式,转换到Controller的调用,这样可以使得测试速度快、不依赖网络环境,而且提供了一套验证的工具,这样可以使得请求的验证统一而且很方便。
具体实例可以参考: