通过使用 toString 方法来对类状态进行描述,描述结果可以通过打印与预期结果进行比较
实例
class SomeClass {
//…
public String toString(){
// custom representation
}
}
约束解决
类的内部状态通过字符串来进行表示因而得以解决
设计原理
在基类定义的 toString() 方法能够提供特定对象的状态的描述,通过将对象状态描述进行打印和显示来判定对象状态是否与预期相符
模式(三) Equal 模式
模式名称
Equal
测试对象
JAVA 类
针对问题
作为运算结果的类
约束
测试人员不知道如何检验一个运算对象的中间结果和最终结果
解决方法
定义 equals 方法比较实际结果与预期结果进行比较
实例
class SomeClass {
//…
public boolean equals(Object o){
// custom comparison
}
}
约束解决
保持某个状态的对象需要与预期对象进行比较,通过比较后的布尔值来确定是否与预期结果相符合
设计原理
在基类定义的 public boolean equals(Object) 能够对比对象间的差异并以布尔值形式返回比较结果
模式(四) Internal Tester Class 模式
模式名称
Internal Tester Class
测试对象
JAVA 包
针对问题
测试人员不知在何处编写测试代码测试包中的类
约束
测试代码与运行代码必须分开来,测试代码能够访问到类的所有特性,测试代码起到的是一个包的客户端的角色。
解决方法
新建一个类并将该类的包路径与被测试类的包路径相同,然后在该类里写入所有的测试代码
实例
package theOne;
public class InternalTestClass {
//…
}
约束解决
所有的测试代码均与运行代码分离,由于它与运行代码在同一包路径下,所以它与普通的客户端相比具有更多的可视性
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/