TDD单元测试类方法模板

简介: TDD单元测试类方法模板

说明

1.此模板使用的请求方式为http,大家可以更改为mockmvc的这种方式

2.登录方式也比较笨重,如果自己公司有封装好的单元测试专用注解方式登录方式更好哦

TDD使用模板

package com.cpmc.cpmcbidding.project.controller;
import cn.hutool.core.map.MapUtil;
import cn.hutool.http.HttpRequest;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.cpmc.cpmcbidding.project.App;
import com.cpmc.cpmcbidding.project.query.BidInvitationAgencyQuery;
import com.cpmc.cpmcbidding.project.util.UserAuthUtil;
import org.junit.Assert;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.Map;
/**
 * @author wuzhenyong
 * ClassName:TemplateTest.java
 * date:2021-12-14 17:20
 * Description:
 */
@SpringBootTest(classes = {App.class})
public class TemplateTest {
  @Value("${security.encode.key}")
  public String encodeKey;
  @Value("${gateway.address}")
  public String gatewayAddress;
    public String token;
    @BeforeEach
    void setUp() {
      // 登录
    Map<String, Object> headMap = UserAuthUtil.login("admin", "wzgs@123456QQ",encodeKey, gatewayAddress);
    token = MapUtil.getStr(headMap, "access_token");
    }
    @Test
    public void get() {
    Object object = new Object();
    Page page = new Page(1,10);
    Map<String, Object> queueMap = JSONUtil.toBean(JSONUtil.toJsonStr(object), Map.class, true);
    Map<String, Object> pageMap = JSONUtil.toBean(JSONUtil.toJsonStr(page), Map.class, true);
    queueMap.putAll(pageMap);
    String body = HttpRequest.get("接口地址")
        .form(queueMap)
        .header("Authorization", token)
        .execute().body();
    JSONObject jsonObject = JSONUtil.parseObj(body);
    String code = jsonObject.getStr("code");
    Assert.assertEquals("预期结果", code);
    }
  @Test
  public void post() {
    Object object = new Object();
    Map<String, Object> map = JSONUtil.toBean(JSONUtil.toJsonStr(object), Map.class, true);
    String body = HttpRequest.post("接口地址")
        .form(map)
        .header("Authorization", token)
        .execute().body();
    JSONObject jsonObject = JSONUtil.parseObj(body);
    String code = jsonObject.getStr("code");
    Assert.assertEquals("预期结果", code);
  }
  @Test
  public void put() {
    Object object = new Object();
    Map<String, Object> map = JSONUtil.toBean(JSONUtil.toJsonStr(object), Map.class, true);
    String body = HttpRequest.put("接口地址")
        .form(map)
        .header("Authorization", token)
        .execute().body();
    JSONObject jsonObject = JSONUtil.parseObj(body);
    String code = jsonObject.getStr("code");
    Assert.assertEquals("预期结果", code);
  }
  @Test
  public void delete() {
    Object object = new Object();
    Map<String, Object> map = JSONUtil.toBean(JSONUtil.toJsonStr(object), Map.class, true);
    String body = HttpRequest.delete("接口地址")
        .form(map)
        .header("Authorization", token)
        .execute().body();
    JSONObject jsonObject = JSONUtil.parseObj(body);
    String code = jsonObject.getStr("code");
    Assert.assertEquals("预期结果", code);
  }
}
相关文章
|
29天前
|
测试技术 API 项目管理
API测试方法
【10月更文挑战第18天】API测试方法
45 1
|
28天前
|
测试技术 UED
软件测试中的“灰盒”方法:一种平衡透明度与效率的策略
在软件开发的复杂世界中,确保产品质量和用户体验至关重要。本文将探讨一种被称为“灰盒测试”的方法,它结合了白盒和黑盒测试的优点,旨在提高测试效率同时保持一定程度的透明度。我们将通过具体案例分析,展示灰盒测试如何在实际工作中发挥作用,并讨论其对现代软件开发流程的影响。
|
19天前
|
Java 测试技术 Maven
Java一分钟之-PowerMock:静态方法与私有方法测试
通过本文的详细介绍,您可以使用PowerMock轻松地测试Java代码中的静态方法和私有方法。PowerMock通过扩展Mockito,提供了强大的功能,帮助开发者在复杂的测试场景中保持高效和准确的单元测试。希望本文对您的Java单元测试有所帮助。
44 2
|
27天前
|
Java 程序员 测试技术
Java|让 JUnit4 测试类自动注入 logger 和被测 Service
本文介绍如何通过自定义 IDEA 的 JUnit4 Test Class 模板,实现生成测试类时自动注入 logger 和被测 Service。
23 5
|
26天前
|
测试技术 C# 数据库
C# 一分钟浅谈:测试驱动开发 (TDD) 实践
【10月更文挑战第18天】测试驱动开发(TDD)是一种软件开发方法论,强调先编写测试代码再编写功能代码,以确保代码质量和可维护性。本文从 TDD 的基本概念入手,详细介绍了其核心步骤——编写测试、运行测试并失败、编写代码使测试通过,以及“红绿重构”循环。文章还探讨了 TDD 的优势,包括提高代码质量、促进设计思考、减少调试时间和文档化。此外,文中分析了常见问题及解决方案,如测试覆盖率不足、测试代码过于复杂、忽视重构和测试依赖过多,并通过一个简单的计算器类的代码案例,展示了 TDD 的实际应用过程。
34 1
|
1月前
|
测试技术 Python
自动化测试项目学习笔记(三):Unittest加载测试用例的四种方法
本文介绍了使用Python的unittest框架来加载测试用例的四种方法,包括通过测试用例类、模块、路径和逐条加载测试用例。
62 0
自动化测试项目学习笔记(三):Unittest加载测试用例的四种方法
|
1月前
|
测试技术 Python
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
本文主要介绍了自动化测试中setup、teardown、断言方法的使用,以及unittest框架中setUp、tearDown、setUpClass和tearDownClass的区别和应用。
63 0
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
|
1月前
|
测试技术 UED
软件测试中的探索性测试:一种高效且灵活的测试方法
本文将深入探讨探索性测试的核心概念、优势及其在实际项目中的应用。我们将从探索性测试的基本定义入手,逐步解析其在不同场景下的具体实施方法和最佳实践。通过详细的案例分析和方法对比,帮助读者全面了解这种既高效又灵活的软件测试技术。
|
1月前
|
安全 测试技术 API
一图看懂API测试9种方法
一图看懂API测试九种方法:冒烟测试验证基本功能,功能测试确保符合规格,集成测试检查组件协同工作,回归测试防止新变更引入问题,负载测试评估性能稳定性,压力测试挑战极限负载,安全测试发现并修复漏洞,用户界面测试确保UI与API协调,模糊测试提升异常数据处理鲁棒性。
|
1月前
|
弹性计算 安全 Linux
阿里云国际版使用ping命令测试ECS云服务器不通的排查方法
阿里云国际版使用ping命令测试ECS云服务器不通的排查方法

热门文章

最新文章

下一篇
无影云桌面