首页 > 其他分享 >SpringBoot2.x系列教程08--新纪元之SpringBoot中编写测试用例

SpringBoot2.x系列教程08--新纪元之SpringBoot中编写测试用例

时间:2022-12-23 15:35:03浏览次数:50  
标签:SpringBoot -- 08 boot springframework 测试用例 编写 test org


SpringBoot系列教程08--新纪元之SpringBoot中编写测试用例
作者:一一哥

我们在上一个案例的基础之上,添加spring-boot-starter-test依赖,看看在Spring Boot中如何实现测试用例的编写。

一. 引入Test依赖

SpringBoot2.x系列教程08--新纪元之SpringBoot中编写测试用例_spring

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>

二.编写测试类

1.创建测试类

在我们的项目test包里,编写一个测试类,HelloBootAppliationTest类。

SpringBoot2.x系列教程08--新纪元之SpringBoot中编写测试用例_测试用例_02

2.编写具体的测试用例代码

@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = MockServletContext.class)
@WebAppConfiguration
public class HelloBootApplicationTest {

private MockMvc mvc;

@Before
public void setUp() throws Exception {
mvc = MockMvcBuilders.standaloneSetup(new HelloBootApplication()).build();
}

@Test
public void getHello() throws Exception {
mvc.perform(MockMvcRequestBuilders.get("/").accept(MediaType.APPLICATION_JSON))
.andExpect(status().isOk())
.andExpect(content().string(equalTo("Hello Spring Boot!")));
}

}

我们使用MockServletContext来构建一个空的WebApplicationContext,这样我们创建的HelloBootApplication就可以在@Before函数中创建并传递到MockMvcBuilders.standaloneSetup()函数中.

3. 静态导入,使得status、content、equalTo函数可用.

import static org.hamcrest.Matchers.equalTo;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;

4.执行测试结果

SpringBoot2.x系列教程08--新纪元之SpringBoot中编写测试用例_spring_03

我们可以看到,执行的结果为”绿色“,也就是说现在执行结果没问题!

当我们把预期的结果改成错误的内容,此时再检测,会发现结果出问题了,变成了红色的提示。

SpringBoot2.x系列教程08--新纪元之SpringBoot中编写测试用例_测试用例_04

使用MockServletContext来构建一个空的WebApplicationContext,这样我们创建的HelloController就可以在@Before函数中创建并传递到MockMvcBuilders.standaloneSetup()函数中.

执行getHello()测试方法,运行正常.

SpringBoot2.x系列教程08--新纪元之SpringBoot中编写测试用例_spring_05

标签:SpringBoot,--,08,boot,springframework,测试用例,编写,test,org
From: https://blog.51cto.com/u_7044146/5965799

相关文章

  • 实验6
    text4#define_CRT_SECURE_NO_WARNINGS#include<stdio.h>intmain(){FILE*fp;fp=fopen("D:\\.temp\\data4.txt","r");if(feof(fp)){p......
  • Markdown语法
    Markdown是一种纯文本标记语言,通过简单的标记语法来使普通文本内容具备有一定的格式。Markdown相对于Word这种文档编辑器而言有如下优点,从而被广泛使用:语法简单,让文档编写......
  • 唯一索引
    ALTERTABLEt_factor_weightADDUNIQUEfid_fac_sym_unique_index(`fund_id`,`factor_name`,`symbol`);ALTERTABLEt_factor_target_positionADDUNIQUEfid_factor_......
  • SpringBoot2.x系列教程09--新纪元之SpringBoot原理探究(重点)
    SpringBoot系列教程09--新纪元之SpringBoot原理探究(重点)作者:一一哥一.SpringBoot工作原理概述Springboot应用程序采用各种Starters启动器,入口类是包含​​@SpringBootA......
  • SpringBoot2.x系列教程07--新纪元之Maven方式创建SpringBoot项目(掌握)
    SpringBoot系列教程07--新纪元之Maven方式创建SpringBoot项目(掌握)作者:一一哥一.Maven方式创建SpringBoot项目1.配置Maven环境在以maven方式创建SpringBoot项目之前,请先......
  • CSS3
    CSS1.css是什么2.CSS怎么用(快速入门)3.CSS选择器(重点+难点)4.美化页面(文字、阴影、超链接、列表、渐变…)5.盒子模型6.浮动7.定位8.网页动画(特效)1.什么是CSS1、什......
  • 当谈论 React hook,我们究竟说的是什么?
    这个标题很大,但是落点很小,只是我,一个开发者在学习和使用hooks中的一点感受和总结。Reacthook的由来Reacthook的由来,其实也可以看作是前端技术不断演进的结果。在......
  • SpringBoot2.x系列教程25--整合SpringMVC之欢迎页面与自定义Favicon
    SpringBoot2.x系列教程25--整合SpringMVC之欢迎页面与自定义Favicon作者:一一哥一.SpringBoot设置欢迎页面1.默认欢迎页的源码在SpringBoot中,默认的欢迎界面是index.html,那......
  • 基于 XML 的 AOP 配置
    (一)环境搭建1、导入依赖<dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId>......
  • 肯天脱模剂 | 螺杆清洗料助力“包装行业”加工
    夏天的唯一缺点恐怕就是热了吧?但因为热我们可以吃冰淇淋、吃西瓜,还能品尝到各种美味的饮料哦!回头想想这也是夏天的专属“福利”吧,当然在炎炎夏日,爱美的女士还会用到各种保湿......