mock是什么?以及springboot中怎么使用mockMVC实现单元测试

news/2024/7/24 3:12:03 标签: spring boot, 单元测试, java

目录

  • Mock是什么?
  • Spring Boot中如何使用MockMVC实现单元测试
      • 添加pom依赖
      • 创建测试案例

Mock是什么?

Mock是一种测试模式,用于模拟或替代依赖项,以便测试程序的某些部分,而不是依赖于真实的外部系统或组件。Mock通常是在单元测试中使用的,以便更轻松地测试单个代码单元。 在Mock模式中,我们使用一个虚拟的对象来代替真实的对象,以便我们可以控制它们的行为并验证我们的代码是否按预期工作。

Spring Boot中如何使用MockMVC实现单元测试

MockMVC是Spring框架提供的一种用于测试Spring MVC控制器的工具。它允许我们在测试过程中模拟HTTP请求和响应,并验证控制器的行为和输出。 下面是一个简单的示例,展示了如何使用MockMVC测试Spring Boot中的控制器

添加pom依赖

在pom.xml中添加spring-boot-starter-test依赖

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

添加spring-boot-starter-test依赖.

创建测试案例

创建java测试案例

@RunWith(SpringJUnit4ClassRunner.class)
@WebMvcTest(DemoController.class)
public class MockTest {

    @Autowired
    private MockMvc mockMvc;
    @Test
    public void testMyEndpoint() throws Exception {

        // 构造GET请求,发送到/myEndpoint路径
        MvcResult result = mockMvc.perform(MockMvcRequestBuilders.get("/hello"))
                .andExpect(MockMvcResultMatchers.status().isOk()) // 确认请求成功
                .andExpect(MockMvcResultMatchers.content().string("ok")) // 确认响应内容正确
                .andReturn();
        System.out.println();
    }
}
   

在上面的示例中,我们使用了@WebMvcTest注解来指定要测试的控制器类。然后,我们使用MockMvc对象来构造和发送HTTP请求,并验证响应是否正确。 MockMVC还提供了许多其他的验证方法,例如jsonPath()model(),可以用来验证控制器的输出内容。


http://www.niftyadmin.cn/n/424004.html

相关文章

软件工程全周期全过程20项文档模板,附下载。从《合同》到《需求规格说明书》到软件设计、开发、实施、验收、维护等全过程相关文档模板

软技工程全生命周期图 计算机软件研制产品的实现过程一般分为七个阶段&#xff1a; &#xff08;一&#xff09;──软件系统要求分析阶段&#xff0c;包括软件研制要求的确定、签订合同、软件设计和开发的策划&#xff1b; &#xff08;二&#xff09;──软件需求分析阶段&…

智能驾驶下半场!华锐捷/畅行智驾/木牛科技/奥迪威的答案是?

智能加速新周期&#xff0c;如何找准新方向&#xff1f;汽车产业链降本增效趋势下&#xff0c;对上游赛道包括芯片企业、传感器供应商带来什么影响&#xff0c;要如何应对&#xff1f; 智能驾驶下半场&#xff0c;高性价比、可拓展性、快速量产、规模化成为了关键词&#xff0…

汇川H5U计数器轴编程应用(高速计数和测速应用)

H5U编码器轴和脉冲轴相关应用测试请参看下面文章: H5U PLC本地脉冲轴和本地编码器轴测试_RXXW_Dor的博客-CSDN博客H5U PLC如何通过EtherCAT总线控制伺服运动,请参看下面的博客汇川H5U PLC通过EtherCAT总线控制SV660N和X3E伺服_RXXW_Dor的博客-CSDN博客。https://blog.csdn.n…

「2024」预备研究生mem-消序核心原则

一、消序 二、核心原则 相同备选池 三、练习题

创建镜像-dockerfile

Docker 镜像的创建 创建镜像有三种方法&#xff1a; 1.基于已有镜像创建、 2.基于本地模板创建 3.基于Dockerfile创建。 基于现有镜像创建 首先启动一个镜像&#xff0c;在容器里做修改 docker create -it centos:7 /bin/bash然后将修改后的容器提交为新的镜像&#xff…

易基因:NAR:ChIP-seq等揭示蛋白质酰基化与c-di-GMP协同调控放线菌发育与抗生素合成机制|项目文章

易基因细菌ChIP-seq测序分析结果见刊《Nucleic Acids Research》 大家好&#xff0c;这里是专注表观组学十余年&#xff0c;领跑多组学科研服务的易基因。 2023年06月07日&#xff0c;华东理工大学生物工程学院和生物反应器工程国家重点实验室叶邦策教授和尤迪副教授为共同通…

【微信公众平台对接】有关【创建发票卡券模板】调用示例

1、微信开放平台接口说明&#xff1a; 2、代码示例 /*** 创建发票卡券模板** param token* return*/PostMapping("createCard")public String createCard(String token) {return wechatOpenService.createCard(token);}String resp null;try {String url String.fo…

OOM 原因及解决方案

1. 什么是OOM 1.1 OOM 含义: OOM, 全称 “Out Of Memory”, 意思是 “内存用完了”。 它来源于 java.lang.OutOfMemoryError。 1.2 为什么会出现OOM: 官方介绍为当 JVM 因为没有足够的内存来为对象分配空间并且垃圾回收器也已经没有空间可回收时, 就会抛出 java.lang.OutOfMemo…