表现层接口的测试和数据回滚

要测试表现层接口需要先有一个模拟的web环境,怎么得到这个web模拟测试环境呢,就在@SpringTest()注解里面写上webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,这个最后面RANDOM_PORT,意思是给web服务器一个随机的端口,防止和程序中其他端口冲突。

  

 

 然后就是测试那个状态码,看看请求有没有发送成功,所以需要先创建一个表现层的类

 

,然后再用模拟的web环境中mvc对象发送请求,世界结果用ResultAction对象来接,然后再用StatusResultMatchers对象设置一个预期的状态码结果,最后用实际结果和预期结果比较,再运行测试类,如果没有报错就成功了。

  

 

 测试响应体:

 

 但是大部分响应体都是json,表现层有时会传过来一个json,里面有实体类对象,还有一些什么提示消息,等等。所以需要让表现层返回一个json数据:

 

 然后再在测试环境中进行测试:

  

 

 最后是测请求头是不是和预期的一样,下面是把三个测试全放在一个测试类里面:

 

数据回滚,就是我们在测试环境中,有些时候,一些测试会影响数据库的数据,为了防止这个数据库被影响,我们需要设置事件回滚,也就是在这个测试类上面加上一个@Transactional注解

  

 还有就是在测试环境中设置随机属性,这个随机属性是在yml配置文件中设置的:

  

 

在测试环境中使用:

 

 

posted @ 2023-02-12 12:08  索隆111  阅读(134)  评论(0)    收藏  举报