SpringBoot_07_Springboot test 使用mockito进行web测试

简介: 一、前言 使用mockito测试框架可以方便的进行web测试   二、用法实例 package com.ray.weixin.qy.controller; import com.ray.

一、前言

使用mockito测试框架可以方便的进行web测试

 

二、用法实例

package com.ray.weixin.qy.controller;

import com.ray.weixin.qy.ApplicationTests;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.springframework.http.MediaType;

import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;

/**
 * @author : shira
 * @date : 2018/7/8
 * @time : 15:03
 * @desc :
 **/
@Slf4j
public class UserControllerTest  extends ApplicationTests {




    /**
     * 1.新增用户信息
     * @throws Exception
     */
    @Test
    public void testCreate() throws Exception {
        String content = "{\n" +
                "\"userid\":\"sunwukong\",\n" +
                "\"name\":\"孙悟空\",\n" +
                "\"department\":[2],\n" +
                "\"position\":\"总经理\",\n" +
                "\"mobile\":\"17636763734\",\n" +
                "\"gender\":\"0\",\n" +
                "\"email\":\"17636763734@qq.com\"\n" +
                "\n" +
                "\n" +
                "}";

        String result = mockMvc.perform(
                post("/user")
                        .content(content)
                        .contentType(MediaType.APPLICATION_JSON_UTF8))
                .andExpect(status().isOk())
                .andExpect(jsonPath("$.status").value(0))
                .andReturn().getResponse().getContentAsString();

        log.info(result);
    }


    /**
     * 2.删除用户信息
     * @throws Exception
     */
    @Test
    public void testDelete() throws Exception {

        String userId="sunwukong";

        String result = mockMvc.perform(
                delete("/user")
                        .param("userId", userId)
                        .contentType(MediaType.APPLICATION_JSON_UTF8))
                .andExpect(status().isOk())
                .andExpect(jsonPath("$.status").value(0))
                .andReturn().getResponse().getContentAsString();

        log.info(result);
    }


    /**
     * 3.修改用户信息
     * @throws Exception
     */
    @Test
    public void testUpdate() throws Exception {
        String content = "{\n" +
                "\"userid\":\"sunwukong\",\n" +
                "\"name\":\"孙悟空\",\n" +
                "\"department\":[2],\n" +
                "\"position\":\"总经理\",\n" +
                "\"mobile\":\"17636763734\",\n" +
                "\"gender\":\"0\",\n" +
                "\"email\":\"17636763734@qq.com\"\n" +
                "\n" +
                "\n" +
                "}";
        String result = mockMvc.perform(
                put("/user")
                        .content(content)
                        .contentType(MediaType.APPLICATION_JSON_UTF8))
                .andExpect(status().isOk())
                .andExpect(jsonPath("$.status").value(0))
                .andReturn().getResponse().getContentAsString();

        log.info(result);
    }


    /**
     * 4.获取用户信息
     * @throws Exception
     */
    @Test
    public void testGet() throws Exception {

        String userId="sunwukong";

        String result = mockMvc.perform(
                get("/user")
                        .param("userid", userId)
                        .contentType(MediaType.APPLICATION_JSON_UTF8))
                .andExpect(status().isOk())
                //.andExpect(jsonPath("$.length()").value(3))
                .andExpect(jsonPath("$.status").value(0))
                .andReturn().getResponse().getContentAsString();

        log.info(result);
    }

}
View Code

 

三、用法详解

 

 

 

 

 

四、参考资料

1.SpringBoot与JUnit+Mockito 单元测试

目录
相关文章
|
4天前
|
JavaScript NoSQL Java
基于SpringBoot+Vue实现的大学生体质测试管理系统设计与实现(系统源码+文档+数据库+部署)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
21 2
|
20天前
|
Java 测试技术 应用服务中间件
Spring Boot 如何测试打包部署
本文介绍了 Spring Boot 项目的开发、调试、打包及投产上线的全流程。主要内容包括: 1. **单元测试**:通过添加 `spring-boot-starter-test` 包,使用 `@RunWith(SpringRunner.class)` 和 `@SpringBootTest` 注解进行测试类开发。 2. **集成测试**:支持热部署,通过添加 `spring-boot-devtools` 实现代码修改后自动重启。 3. **投产上线**:提供两种部署方案,一是打包成 jar 包直接运行,二是打包成 war 包部署到 Tomcat 服务器。
43 10
|
1月前
|
Java 开发者 微服务
Spring Boot 入门:简化 Java Web 开发的强大工具
Spring Boot 是一个开源的 Java 基础框架,用于创建独立、生产级别的基于Spring框架的应用程序。它旨在简化Spring应用的初始搭建以及开发过程。
89 6
Spring Boot 入门:简化 Java Web 开发的强大工具
|
1月前
|
安全 Java 测试技术
springboot之SpringBoot单元测试
本文介绍了Spring和Spring Boot项目的单元测试方法,包括使用`@RunWith(SpringJUnit4ClassRunner.class)`、`@WebAppConfiguration`等注解配置测试环境,利用`MockMvc`进行HTTP请求模拟测试,以及如何结合Spring Security进行安全相关的单元测试。Spring Boot中则推荐使用`@SpringBootTest`注解简化测试配置。
|
2月前
|
Java 测试技术 API
详解Swagger:Spring Boot中的API文档生成与测试工具
详解Swagger:Spring Boot中的API文档生成与测试工具
73 4
|
2月前
|
XML Java 网络架构
使用 Spring Boot 公开 SOAP Web 服务端点:详细指南
使用 Spring Boot 公开 SOAP Web 服务端点:详细指南
108 0
|
12天前
|
数据可视化 前端开发 测试技术
接口测试新选择:Postman替代方案全解析
在软件开发中,接口测试工具至关重要。Postman长期占据主导地位,但随着国产工具的崛起,越来越多开发者转向更适合中国市场的替代方案——Apifox。它不仅支持中英文切换、完全免费不限人数,还具备强大的可视化操作、自动生成文档和API调试功能,极大简化了开发流程。
|
12天前
|
存储 测试技术 数据库
接口测试工具攻略:轻松掌握测试技巧
在互联网快速发展的今天,软件系统的复杂性不断增加,接口测试工具成为确保系统稳定性的关键。它如同“翻译官”,模拟请求、解析响应、验证结果、测试性能并支持自动化测试,确保不同系统间信息传递的准确性和完整性。通过Apifox等工具,设计和执行测试用例更加便捷高效。接口测试是保障系统稳定运行的第一道防线。
|
12天前
|
Web App开发 JSON 测试技术
API测试工具集合:让接口测试更简单高效
在当今软件开发领域,接口测试工具如Postman、Apifox、Swagger等成为确保API正确性、性能和可靠性的关键。Postman全球闻名但高级功能需付费,Apifox则集成了API文档、调试、Mock与自动化测试,简化工作流并提高团队协作效率,特别适合国内用户。Swagger自动生成文档,YApi开源但功能逐渐落后,Insomnia界面简洁却缺乏团队协作支持,Paw仅限Mac系统。综合来看,Apifox是国内用户的理想选择,提供中文界面和免费高效的功能。
|
1月前
|
监控 JavaScript 测试技术
postman接口测试工具详解
Postman是一个功能强大且易于使用的API测试工具。通过详细的介绍和实际示例,本文展示了Postman在API测试中的各种应用。无论是简单的请求发送,还是复杂的自动化测试和持续集成,Postman都提供了丰富的功能来满足用户的需求。希望本文能帮助您更好地理解和使用Postman,提高API测试的效率和质量。
113 11

热门文章

最新文章