时间:2021-05-19
一、实现原理
使用MockMvc发起请求,然后执行API中相应的代码,在执行的过程中使mock模拟底层数据的返回,最后结果验证。
二、常用注解介绍
@SpringBootTest是SpringBoot的一个用于测试的注解,通过SpringApplication在测试中创建ApplicationContext。
@AutoConfigureMockMvc是用于自动配置MockMvc。
@RunWith在JUnit中有很多个Runner,他们负责调用你的测试代码,每一个Runner都有各自的特殊功能,你要根据需要选择不同的Runner来运行你的测试代码。
@Before在每个测试方法前执行,一般用来初始化方法。
@After在每个测试方法后执行,在方法执行完成后要做的事情。
三、主要代码
引入测试jar包
测试类中添加注解和测试代码
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.AutoConfigureMockMvc;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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
测试分类按开发阶段划分单元测试单元测试又称模块测试,针对软件设计中的最小单位——程序模块,进行正确性检查的测试工作。集成测试集成测试又叫组装测试,通常在单元测试
0.版本选择我这里选择了5.6.x,记得如果spring-boot-starter-parent是1.x可以选择2.x版本的elasticsearch,版本要对
原文发布于2017年7月,为保证能正常运行,其中部分命令进行了调整。当时TypeScript版本为2.x,但依旧具有借鉴意义。单元测试能限制你库中Bug的「生长
目前spring-boot成为了java开发的主流框架,cucumber作为一款支持dsl的自动化测试工具,很适合用户编写dsl优化过的单元测试等测试用例。本文
JUnit是Java中最有名的单元测试框架,用于编写和运行可重复的测试,多数Java的开发环境都已经集成了JUnit作为单元测试的工具。好的单元测试能极大的提高