Spring Boot 2.X 快速集成单元测试解析

网友投稿 460 2023-07-27

Spring Boot 2.X 快速集成单元测试解析

Spring Boot 2.X 快速集成单元测试解析

一、实现原理

使用MockMvc发起请求,然后执行API中相应的代码,在执行的过程中使mock模拟底层数据的返回,最后结果验证。

二、常用注解介绍

@SpringBootTest是SpringBoot的一个用于测试的注解,通过SpringApplication在测试中创建ApplicationContexhttp://t。

@AutoConfigureMockMvc是用于自动配置MockMvc。

@RunWith在JUnit中有很多个Runner,他们负责调用你的测试代码,每一个Runner都有各自的特殊功能,你要根据需要选择不同的Runner来运行你的测试代码。

@Before在每个测试方法前执行,一般用来初始化方法。

@After在每个测试方法后执行,在方法执行完成后要做的事情。

三、主要代码

引入测试jar包

org.springframework.boot

spring-boot-starter-test

test

测试类中添加注解和测试代码

package com.example.helloSpringBoot;

import org.junit.After;

import org.junit.Assert;

import org.junit.Before;

import org.junit.Test;

import org.junit.runner.RunWith;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfiayXvjsgureMockMvc;

import org.springframework.boot.test.context.SpringBootTest;

import org.springframework.test.context.junit4.SpringRunner;

import org.springframework.test.web.servlet.MockMvc;

import org.springframework.test.web.servlet.MvcResult;

import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;

import org.springframework.test.web.servlet.result.MockMvcResultMatchers;

@RunWith(SpringRunner.class)

@SpringBootTest(classes = {HelloSpringBootApplication.class})

@AutoConfigureMockMvc //测试接口用

public class HelloControllerTest {

private static final Logger log = LoggerFactory.getLogger(HelloControllerTest.class);

@Before

public void testBefore(){

log.info("测试前");

}

@After

public void testAfter(){

log.info("测试后");

}

@Autowired

private MockMvc mockMvc;

/**

* 测试 /mockTest

*

*

*/

@Test

public void mockTest()throws Exception{

MvcResult mvcResult=mockMvc.perform(MockMvcRequestBuilders.get("/mockTest")).

andExpect(MockMvcResultMatchers.status().isOk()).andReturn();

int status=mvcResult.getResponse().getStatus();

//打印出状态码,200就是成功

log.info("状态码="+status);

Assert.assertEquals(200,status);

}

}

运行mockTest

运行成功后截图如下:

上述三步操作完成后即可实现对API(Controller)测试,有问题欢迎留言沟通哦!

完整源码地址:https://github.com/suisui2019/helloSpringBoot

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Spring Boot 如何自定义返回错误码错误信息
下一篇:Spring Cloud Stream异常处理过程解析
相关文章

 发表评论

暂时没有评论,来抢沙发吧~