<强>一、实现原理强>
使用MockMvc发起请求,然后执行API中相应的代码,在执行的过程中使模拟模拟底层数据的返回,最后结果验证。
<强>二,常用注解介绍
强>
<强> @SpringBootTest 强>是SpringBoot的一个用于测试的注解,通过SpringApplication在测试中创建ApplicationContext。
<强> @AutoConfigureMockMvc 强>是用于自动配置MockMvc。
<强> @RunWith在JUnit 强>中有很多个选手,他们负责调用你的测试代码,每一个运动员都有各自的特殊功能,你要根据需要选择不同的运动员来运行你的测试代码。
<强> @Before 强>在每个测试方法前执行,一般用来初始化方法。
<强> @After 强>在每个测试方法后执行,在方法执行完成后要做的事情。
<强>三,主要代码强>
引入测试jar包
& lt; dependency> & lt; groupId> org.springframework.boot & lt; artifactId> spring-boot-starter-test & lt; scope> test & lt;/dependency>
测试类中添加注解和测试代码
包com.example.helloSpringBoot; 进口org.junit.After; 进口org.junit.Assert; 进口org.junit.Before; 进口org.junit.Test; 进口org.junit.runner.RunWith; 进口org.slf4j.Logger; 进口org.slf4j.LoggerFactory; 进口org.springframework.beans.factory.annotation.Autowired; 进口org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; 进口org.springframework.boot.test.context.SpringBootTest; 进口org.springframework.test.context.junit4.SpringRunner; 进口org.springframework.test.web.servlet.MockMvc; 进口org.springframework.test.web.servlet.MvcResult; 进口org.springframework.test.web.servlet.request.MockMvcRequestBuilders; 进口org.springframework.test.web.servlet.result.MockMvcResultMatchers; @RunWith (SpringRunner.class) @SpringBootTest(类={HelloSpringBootApplication.class}) @AutoConfigureMockMvc//测试接口用 公开课HelloControllerTest { 私有静态最终记录器日志=LoggerFactory.getLogger (HelloControllerTest.class); @Before 公共空间testBefore () { log.info(“测试前”); } @After 公共空间testAfter () { log.info(“测试后”); } @ autowired 私人MockMvc MockMvc;/* * *测试/mockTest * * */@Test 公共空间mockTest()抛出异常{ MvcResult MvcResult=mockMvc.perform (MockMvcRequestBuilders.get ("/mockTest "))。 一下动身(MockMvcResultMatchers.status () .isOk ()) .andReturn (); .getStatus int状态=mvcResult.getResponse () ();//打印出状态码,200就是成功 log.info(“状态码=" +状态); Assert.assertEquals(200、状态); } }
运行mockTest
运行成功后截图如下:
上述三步操作完成后即可实现对API(控制器)测试,有问题欢迎留言沟通哦!
完整源码地址:https://github.com/suisui2019/helloSpringBoot
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。