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);
  }
}
相关文章
|
13天前
|
敏捷开发 测试技术
软件测试中的探索性测试方法
【6月更文挑战第12天】探索性测试,一种灵活的测试实践,旨在通过自由形式的探索发现软件的潜在缺陷。它不依赖于事先编写的测试用例,而是鼓励测试人员利用直觉、经验和创造力来指导测试过程。本文将深入探讨探索性测试的核心概念、实施策略以及它如何增强传统测试方法的有效性。
|
21天前
|
XML 设计模式 Java
PowerMock:静态方法与私有方法测试
PowerMock是Java单元测试中扩展Mockito的框架,允许模拟静态方法、构造函数、私有方法和final类,以增强测试隔离和覆盖率。主要应用场景包括静态方法模拟、私有方法测试和构造函数/Final类模拟。然而,使用时需注意配置复杂性、避免过度使用、精确控制模拟行为和遵循最佳实践。示例展示了如何模拟静态方法,通过添加PowerMock依赖和使用PowerMockito.mockStatic进行静态方法的模拟和验证。正确使用PowerMock能提升测试质量,但应谨慎以保持代码可读性和测试有效性。
PowerMock:静态方法与私有方法测试
|
6天前
|
芯片
LDO的原理及测试方法
LM317是一种可调稳压器,核心是Bandgap Reference,用于提供1.25到37V的输出电压和1.5A的电流。了解其内部结构有助于测试和电路设计,例如理解温度系数对稳定性的影响,以及参数如IADJ(通常为50uA)的设计。测试时关注输出电压的线性和负载调整率,同时注意输入电流与输出电流的关系。LM317的测试还包括参考电压、滤波器性能、纹波抑制比等,确保电路的稳定性和效率。在多站点测试中,还需确保辅助电路的一致性和校准。
17 4
|
7天前
|
敏捷开发 运维 Devops
现代软件测试方法与挑战
在当今高度数字化和技术化的时代,软件测试成为保证产品质量和用户体验的关键环节。本文探讨了现代软件测试方法的演进和面临的挑战,从传统到自动化测试的转变,以及如何应对复杂性和快速变化的软件开发环境。
|
7天前
|
敏捷开发 测试技术
软件测试中的探索性测试方法
【6月更文挑战第18天】本文将深入探讨探索性测试(Exploratory Testing)在软件测试领域的重要性与实施策略。不同于传统的脚本化测试,探索性测试强调测试人员的主观能动性和创造性,以真实用户的角度出发,发现那些可能在规范性测试中被忽视的问题。文章首先介绍探索性测试的定义和优势,然后通过案例分析,展示如何有效执行探索性测试,最后讨论其在敏捷开发环境中的适应性以及如何与传统测试方法相结合以提升测试覆盖率和效率。
|
9天前
|
敏捷开发 机器学习/深度学习 人工智能
现代软件测试方法与挑战
随着信息技术的迅猛发展,现代软件测试面临着越来越复杂的挑战。本文探讨了当前流行的软件测试方法及其在应对不断增长的复杂性和新兴技术方面的应用。重点讨论了自动化测试、敏捷开发以及人工智能在软件测试中的应用,以及它们如何改变了测试团队的角色和策略。最后,文章还分析了未来软件测试面临的可能发展趋势和挑战。
|
14天前
|
JavaScript Java 测试技术
《手把手教你》系列技巧篇(七十一)-java+ selenium自动化测试-自定义类解决元素同步问题(详解教程)
【6月更文挑战第12天】本文介绍了如何创建一个自定义类库来解决自动化测试中的元素同步问题。作者指出,大部分错误源于元素因时间不同步而引发,为此提供了一种解决方案。在项目实践中,首先在`library`包下创建名为`MyWait`的类,包含一个方法`isElementPresent`,该方法通过循环尝试并等待指定元素出现,避免了直接使用时间等待可能导致的不准确性。之后,在测试类中调用此自定义方法,成功实现了元素同步。代码示例展示了如何在Java+Selenium自动化测试中应用这个自定义类。
31 2
|
19天前
|
数据挖掘 测试技术
软件测试的艺术:确保质量的创造性方法
【6月更文挑战第6天】在数字化时代,软件无处不在。它们渗透到我们生活的方方面面,从个人使用到企业运营。然而,随着软件的普及和复杂性的增加,确保其质量和性能变得至关重要。软件测试是这一过程的核心,它不仅是一门科学,更是一种艺术。本文将探讨如何通过创造性的方法来提高软件测试的效率和效果,从而确保最终产品能够满足用户的期望和需求。
|
20天前
|
敏捷开发 搜索推荐 Devops
现代软件测试方法与挑战
传统的软件测试方法在现代软件开发环境下已经面临着诸多挑战,包括复杂的系统架构、快速迭代的开发周期以及高度定制化的需求。本文将探讨现代软件测试所面临的挑战,并介绍一些新的测试方法和工具,以适应不断变化的软件开发环境。
21 1
|
20天前
|
Java 测试技术
测试类基础
测试类基础
16 1