单元测试 问题描述_单元测试技巧:创建描述性测试
单元测试 问题描述
您的单元测试应尽可能具有描述性。 他们给您的反馈应该非常清楚,您甚至不必启动调试器,并一步一步地检查代码以检查局部变量。 为什么? 因为那需要时间,而且我们很懒,对吗? 为此,您需要创建描述性测试。 有不同的方法可以实现这一点。 这是其中两个。
添加断言消息
断言消息通常可以在测试断言中指定为附加参数,并且在特定测试用例失败时,它们会作为失败消息出现。
例如,在jUnit中,您可以指定断言消息,例如:
assertEquals("The firstname of the two people should match if the clone was successful", "Fritz", person1.getFirstname());
另一方面,在MSTest中,必须将断言消息作为最后一个参数添加。
Assert.AreEqual("Fritz", person1.Firstname, "The firstname of the two people should match if the clone was successful");
注意 ,不要“过度设计”。 我将这些注释与其他代码注释类似地对待:如果它们添加了有意义的信息,则只需添加它们即可。 否则,它们就是浪费,因此就这样对待它们。
首选显式断言
我所说的显式断言的意思是对您要执行的操作使用正确的断言。 例如,如果您需要像前面提到的断言中那样执行相等性检查,请不要使用布尔断言声明。 (这里是一个虚拟的QUnit测试用例的示例)
test('Should correctly clone two people', 1, function(){//...ok(person1.firstname === 'Fritz', 'I expect both names to match if the clone operation succeeded');
});
…以及在输出窗口中的相应结果:
这个结果并不是真正的描述性…
结果没有告诉我们太多,对吧? 您可以说的是,此人的名字与您期望的名字不匹配,因此克隆操作可能不会成功。 但为什么?? 那它的实际价值是多少?
使用equals
代替:
test('Should correctly clone two people', 1, function(){//...equal(person1.firstname, 'Fritz', 'I expect both names to match if the clone operation succeeded');
});
……结果又是:
哦,看那里,有描述性的结果。
现在,此测试用例的结果更具描述性。 它不仅告诉您操作失败,而且还准确地向您显示了预期值和实际值。 这可能会立即提示您可能存在问题的地方。
翻译自: https://www.javacodegeeks.com/2013/06/unit-testing-tip-create-descriptive-tests.html
单元测试 问题描述
单元测试 问题描述_单元测试技巧:创建描述性测试相关推荐
- 项目描述_单元测试技巧:创建描述性测试
项目描述 您的单元测试应尽可能具有描述性. 他们给您的反馈应该非常清楚,您甚至不必启动调试器并一步一步地检查代码以检查局部变量. 为什么? 因为那需要时间,而且我们很懒,对吗? 为此,您需要创建描述性 ...
- 单元测试技巧:创建描述性测试
您的单元测试应尽可能具有描述性. 他们给您的反馈应该非常清楚,您甚至不需要启动调试器并一步一步地检查代码来检查局部变量. 为什么? 因为那需要时间,而且我们很懒,对吗? 为此,您需要创建描述性测试. ...
- Java单元测试的意义_单元测试重要意义及方法介绍
软件项目开发中,有些开发人员对单元测试的重视不够,可能有几种原因: 一.开发人员主观原因,认为"测试主要是测试人员的事情,我主要负责代码实现,功能实现就可以了,测试不是我的重要工作" ...
- python单元测试的应用_单元测试pythongui应用程序的推荐方法是什么?
我目前愚蠢到试图为Python桌面应用程序维护两个并行代码基,一个使用PyGObject introspection for GTK 3,另一个使用PyGTK for GTK 2.我主要在PyGObj ...
- python单元测试的应用_单元测试使用请求库的python应用程序
如果你使用具体请求尝试 httmock.它的奇妙简单和优雅: from httmock import urlmatch, HTTMock import requests # define matche ...
- 单元测试怎么测试线程_单元测试线程代码的5个技巧
单元测试怎么测试线程 以下是一些技巧,说明如何进行代码的逻辑正确性测试(与多线程正确性相对). 我发现本质上有两种带有线程代码的刻板印象模式: 面向任务-许多短期运行的同类任务,通常在Java 5执行 ...
- ultraedit 运行的是试用模式_单元测试 —— 前后端分离开发模式下后端质量的保证...
概述 在今天, 前后端分离已经是首选的一个开发模式.这对于后端团队来说其实是一个好消息,减轻任务并且更专注.在测试方面,就更加依赖于单元测试对于API以及后端业务逻辑的较验.当然单元测试并非在前后端分 ...
- java 接口单元测试_单元测试
1. 单元测试 1.1. 为什么要做单元测试 帮助理解需求 单元测试应该反映使用场景,把被测单元当成黑盒测试其外部行为. 提高实现质量 单元测试不保证程序做正确的事,但能帮助保证程序正确地做事,从而提 ...
- 软件测试_单元测试反模式,完整列表
软件测试 我前段时间写过有关OOP中的反模式的文章. 现在该写单元测试反模式了,因为它们也存在,并且有很多. 我将尝试在列表中包括我知道的每个示例. 如果您认识其他任何人,请通过请求请求添加他们,或在 ...
最新文章
- centos7 firewall 防火墙 命令
- 部署Chromedriver
- 基于 Kafka 与 Debezium 构建实时数据同步
- [TCP/IP] ping traceroute和TTL
- 在IIS中部署Asp.net Mvc
- linux文件系统的设计,基于Linux的文件系统设计.doc
- WINDOWS SERVER 2003从入门到精通之林之间的信任关系
- python加载模型_解决python 无法加载downsample模型的问题
- CentOS部署SpringBoot项目(二)
- erlang的简单模拟半包的产生
- 期末C语言45分能过的吗,C语言—期末小黄衫获奖感言
- ACCESS的Ole对象读取写入
- 【Java练习题】Java 程序的输出 | 第十一套(含解析)
- EHS法律法规的收集渠道
- 软件库App源码+后端源码
- 2018年湘潭大学程序设计竞赛 E	吃货
- opencv-contrib sfm扩展模块下载安装
- Instagram帖子类型及标题撰写技巧
- js实现加buff功能
- Map接口以及那些实现类
热门文章
- Problem H Rock Paper Scissors,FFT
- eclipse搭建多module项目的坑
- Springmvc入门案例(1)
- React中构造函数、reader和函数的调用次数和时机测试
- 集合中重写equals方法删除new的对象
- 【1】flink-source读取数据
- win7-elasticsearch环境搭建
- openfire log4j:ERROR setFile(null,true) call failed.
- redis 受攻击怎么办?_最受欢迎的6个最常用的Redis库
- 如何判断2服务器性能好或坏_无服务器革命:好,坏和丑