单元测试

单元测试,顾名思义就是对程序的某个单元进行测试。本质上,就是写一份测试代码,和生产代码对应。随着软件开发的发展,出现了TDD(Test Drive Development)的开发模式,简单来说就是在编写正式的业务代码前,编写测试代码。对于编写单元测试,也有很多规范。

1. 测试代码和生产代码同等重要

很多时候,我们都认为测试代码能运行就OK,大部分公司都秉持着”速而不周”的态度来编写测试代码。其实,测试代码和生产代码同等重要,同样需要好好设计。

2. 测试的基本流程是Build – Operate – Check

很显然,测试的目的就是模拟人工操作,构造一些测试数据,检测代码的正确性。所以,测试第一步需要构造(Build)测试数据,第二步是执行(Operate)我们编写的代码,使用测试数据作为参数,最后一步就是检查(Check)代码执行的结果是否符合预期。

其中对于测试的Check,我们一般使用 断言 (Assert),本质上就是判断代码执行结果与我们的预期是否一致,一致即为true,不一致即为false。

3. 测试F.I.R.S.T原则

F(Fast):即测试执行要迅速,如果执行很慢,那就说明我们的代码有问题。

I(Independent):每个测试之间要独立,即每个测试要做到能单独运行,不要相互设置先决条件,否则就会出现一个测试有问题,其他测试都出现错误。

R(Repeatable):每个测试都要做到可重复执行,不管在任何环境下。

S(Self-Validating):即测试应该有结果输出,应该有一个判断,是否和预期相符合,不能最后还要人工去判断。

T(Timely):即测试要是及时的,包含两方面,一是测试应该在生产代码前编写,二是,需求或生产变动,测试也要随之变动,保证测试代码是最新的。

原文地址:https://www.cnblogs.com/glsy/p/8469977.html