《单元测试之道》Java版学习日志
前言
在软件工程这门课程中,我有幸在老师的推荐下读了这本书。首先谈单元测试的概念,单元测试是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件或某个特定函数的行为。我们使用单元测试,可以让我们的设计更好,甚至大大减少花在调试上的时间。
首个单元测试
java中使用asserEquals()方法来比较期望值和真实值是否相等
public void calc() {
MSA msa = new MSA();
int a[] = {1,-2,3};
int length = 3;
msa.Calc(a, length);
Assert.assertEquals(3, msa.sum);
}
使用JUnit编写测试
介绍几种断言
(1)asserEquals,以上介绍过
(2)assertNull
assertNull([{String message},java.lang.Object object),验证给定对象是否为空
(3)assertSame
assertSame({String message},expected,acture),验证expected与acture是否为同一个对象
(4)assertTure
assertTure(true),验证给定的二元条件是否为真
测试那些内容
Right-BICEP,Right——结果是否正确,B——是否所有的边界都正确,I——能查一下反向关联吗,C——能用其他手段交叉检查一下结果吗,E——你能否可以强制错误条件发生,P——是否满足性能要求。
边界条件
用CORRECT来表示我们需要考虑哪些边界条件。
- 一致性
- 有序性
- 区间性
- 引用,耦合性
- 基数性
- 时间性
使用Mock对象
Mock对象是真实对象在调试期的替代品。在使用mock对象进行测试时,分为三个步骤(1)使用一个接口来描述这个对象。(2)为产品代码实现这个接口。(3)以测试为目的,在mock对象中实现这个接口。
好的测试所具有的品质
A-TPIR:
- 自动化
- 彻底的
- 可重复
- 独立的
- 专业的
测试类的不变性
类的不变性是指一个或者几个针对类对象的断言。如果一个类对象有效的话,这些断言必须为真。例如,对一个实现了sorted list的类,它的不变性就是:它的内容必须是有序的。
总结
总之,一个好的程序必须要经过测试才能确保安全有效的运行,对提高软件质量是有很大帮助的。学习这本书对于单元测试有了更深的理解。

浙公网安备 33010602011771号