开发时写TestCase的一些经验

2023-11-09

今天修复完一个业务代码的 bug,手动测试没有问题,但写测试用例出错,在对代码很自信的情况下(因为手动测试过了),我干脆省略了这个步骤,然而偷懒的事情早晚会暴露出来:用 Git 提交到远程时在 Code Review 那里的系统集成测试老是失败,查看日志文件后知道是哪个 TestCase 有问题,所以进入 TestCase 查看代码。

运行 TestCase 后,发现一直报了一个 A 异常(项目其他成员自定义的),但与真正运行时报的异常不同,没法在日志文件里面查看。对 TestCase 调试了一波也没有进入这个异常的分支,于是我就懵逼了:怎么解决?

于是我怀疑是我 TestCase 传入的变量 dto 初始化出了错,我前面写的是根据前端传进去的值,只有两个变量。于是乎我开了在业务代码那里调试,把传入的 dto 的值全部截图起来,然后测试用例照着这个 dto 有得值给它一个一个赋值进去。

后来就成功了。

所以说,写 TestCase 的经验就是:不要对自己写的变量的初始化盲目自信,特别是更改别人的代码时很容易出错,用真正环境跑起来的调试得到的变量照抄过去才是正解。

开个贴记录一下。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

开发时写TestCase的一些经验 的相关文章

随机推荐

  • ML算法——Support Vector Machine随笔【机器学习】

    文章目录 4 Support Vector Machine SVM 4 1 理论部分 4 1 1 更优的决策边界 4 1 2 解决低维不可分问题 4 2 sklearn 实现 4 2 1 SVM 分类 SVC 4 2 2 SVM回归 SVR
  • c++与java的枚举

    Java枚举和C 枚举的主要区别为两点 一是C 中的枚举中只能定义常量 主要用于switch子句 二是C 中的枚举常量可以直接和数值型变量进行各种数学运算 java的枚举 枚举的是在Java 1 5SE 中开始支持的 以下为Java枚举的基
  • SpringBoot 提示:java.lang.IllegalStateException: No primary or default constructor found for interface

    SpringBoot集成MyBatis Plus 实现HTPP POST提交实体对象提示如下错误片段 c c c c a BaseControllerExceptionHandler 运行时异常 java lang IllegalState
  • spring cloud 常用的核心组件以及作用

    1 spring cloud 常用的核心组件 服务注册与发现 Netflix Eureka 客户端负载均衡 Netflix Ribbon 服务熔断器 Netflix Hystrix 服务网关 Netflix Zuul 服务接口调用 Netf
  • glUniform详解

    glUniform详解 glUniform API官方文档解释 Name glUniform Specify the value of a uniform variable for the current program object C
  • uniapp 引入 Vant 从零开始

    第一步 1 这里创建uniapp的项目 本人选择的是Vue2的 第二步 打开 Vant 官网 这里是使用Vant2的 切记别选择Vant3 不知道的可以点击 这里进入 Vant官网 点击上面的 微信小程序版本 进入这个界面后 点击 快速上手
  • LeetCode-重建二叉树

    先利用前序遍历找根节点 前序遍历的第一个数 就是根节点的值 在中序遍历中找到根节点的位置 k 则 k 左边是左子树的中序遍历 右边是右子树的中序遍历 假设左子树的中序遍历的长度是 l 则在前序遍历中 根节点后面的 l 个数 是左子树的前序遍
  • 51单片机点灯实验(含程序+仿真+硬件实验)

    一 实验原理 LED发光二极管核心为PN结 单向导电 有阴极和阳极 两极均可以控制 需要亮起来 电流不能过大和过小 过大 烧坏二极管 过小 电光效应弱 发光不明显 引入 限流电路 为减少I O引脚的消耗 一般控制一极 有阳极控制法和阴极控制
  • 【精华】搭建个人Web服务器_LAMP

    目录 项目名称 搭建个人Web服务器 LAMP 1 搭建模式 2 搭建步骤 3 常见问题解决方案 项目名称 搭建个人Web服务器 LAMP 1 搭建模式 LAMP 即Linux系统 Apache服务器 MySQL PHP 2 搭建步骤 第一
  • 计算机保存图片找不到桌面,保存的图片在桌面但是找不到。怎么办?

    1win7保存文件找不到桌面 文件有可能被隐藏 2win7保存文件找不到桌面 组策略发生异常 3win7保存文件找不到桌面 保存路径错误 4win7保存文件找不到桌面 explorerwin7保存文件找不到桌面 exe故障 调出 隐藏 文件
  • 设计模式-2.2类之间的6种关系

    1 继承关系 2 实现关系 3 依赖关系 4 关联关系 5 聚合关系 6 组合关系 7 类图建模步骤 1 继承 extends 泛化 在UML中用带空心三角形的实线表示 指向父类 2 实现 implements 类实现接口 可多个 虚线空心
  • 第8章 Stata主成分分析与因子分析

    目录 8 1主成分分析 8 2因子分析 1 主成因子法 2 主因子法 3 迭代公因子方差的主因子法 4 最大似然因子法 在进行数据统计分析时 还往往会遇见变量特别多的情况 而且很多时候这些变量之间还存在着很强的相关关系或者说变量之间存在着很
  • 万字长文深入浅出理解ChatGPT工作原理

    本文转自 原创 万字长文深入浅出理解ChatGPT工作原理 qq com AIGC简要介绍 AIGC是什么 AIGC AI Generated Content AI生成内容 对应我们的过去的主要是 UGC User Generated Co
  • 如何通过Anaconda创建虚拟环境

    做深度学习的同学们应该都受到配置环境的困扰 我也是饱受摧残 本文介绍几个踩过的坑 在anaconda下创建一个虚拟环境 文件名为 pytorch python版本是 3 8 conda create n pytorch python 3 8
  • 【GIT 使用教程 linux 环境】

    1 GIT基本使用 1 linux环境下安装GIT sudo apt get install git 2 全局账号配置 git config global user name yourname git config global user
  • vue v-for循环

    vue v for循环中通过一个变量控制不同的下拉框 默认是全部展开 当点击每个表格的下拉图标 就会显示或隐藏 刚开始做的时候就通过一个变量进行控制 导致点击一个下拉图标就会控制所有有的表格下拉 所以应该是给每个表格对应的集合中加一条属性来
  • autojs常见报错及解决

    autojs常见报错及解决 期待大家在下面评论补充 更多基础加autojs交流群553908361喽 一键加群 点击加群 1 需要在ui模式下运行才能使用该函数 file android asset modules ui js 15 Err
  • Antv/G2 柱状图

    Antv G2 教程 G2 是一套基于图形语法理论的可视化底层引擎 以数据驱动 提供图形语法与交互语法 具有高度的易用性和扩展性 使用 G2 无需关注图表各种繁琐的实现细节 一条语句即可使用 Canvas 或 SVG 构建出各种各样的可交互
  • MacbookPro M1芯片对“cp -r” 命令支持有误,慎重购买

    MacBook2021 M1 MAXPro电脑问题锦集 问题1 开启硬盘加密 开机闪屏 问题详述 在系统偏好设置中 打开安全与隐私 在弹出窗口中切换到第二个页签 文件保险箱 启用文件保险箱功能 然后关机重新启动电脑 在输入密码回车后进度条刚
  • 开发时写TestCase的一些经验

    今天修复完一个业务代码的 bug 手动测试没有问题 但写测试用例出错 在对代码很自信的情况下 因为手动测试过了 我干脆省略了这个步骤 然而偷懒的事情早晚会暴露出来 用 Git 提交到远程时在 Code Review 那里的系统集成测试老是失