Spring MVC 测试方法

1,在测试Controller时,Spring提供了一个MockMvc的类,方便测试Controller。
这个类在spring-test包下面。下面的依赖是SpringBoot的test starter的依赖。

<dependency>
    <groupId>org.springframework.bootgroupId>
    <artifactId>spring-boot-starter-testartifactId>
    <version>1.3.3.RELEASEversion>
dependency>

参考:
Junit测试Controller(MockMVC使用),传输@RequestBody数据解决办法
基于Spring MVC做单元测试(一)——使用Spring Test框架
Spring MVC Test Tutorial

2,在测试Controller的时候,一般我们不想真正执行Controller里面的Service,需要Mock相应的Service。所以,一般测试的时候都联合其它测试组件一起用,我使用过的是Mockito+PowerMock。
你可以单独使用Mockito,但如果要测试“私有/静态/final”等类型的方法时,就需要和PowerMock一起使用了。

3,在测试的返回结果中如果有json格式的结果的话,可以使用json-path这个组件来测试json结果,非常方便。
参考:
jsonpath文档
Testing Springframework MVC Rest controllers:和SpringMvc结合的使用例子
Java Code Examples for com.jayway.jsonpath.JsonPath:其它例子

你可能感兴趣的:(spring,springboot,测试)