将测试代码定义在一个特定的类中。由于测试类与运行类在同一个包路径下,因此它能访问测试类的类的所有特性。因此,它远比客户端测试具有更大的可视性。
模式(五) Extern Tester Class 模式
模式名称
Extern Tester Class 模式
测试对象
JAVA 包
针对问题
测试人员不知在何处编写测试代码测试包中的类
约束
测试代码与运行代码必须分开来,测试代码能够访问到类的可视特征,测试代码起到的是一个包的客户端的角色。
解决方法
新建一个类,指定与被测试类不同的包路径,然后在该类里写入所有的测试代码
实例
package anotherOne;
public class ExternalTestClass {
//…
}
约束解决
所有的测试代码均与运行代码分离,由于它与运行代码在不同的包路径下,所以它与普通的客户端的可视性相同
设计原理
将测试代码定义在一个特定的类中。由于测试类与运行类不在同一个包路径下,因此它不能访问测试类的所有属性和方法。但是它与客户端具有相同的可视性。因此,它可以替代客户端进行测试。
上面五个模式的作用关系如图-1所示:
图-1 JAVA 测试模式图解
了解上述所述的模式有助于测试人员在具体 JAVA 代码测试中编写测试类,同时上述的这些 JAVA 测试模式还可以借助 JUnit 这样的测试框架来实现。
注:本文根据 Marco Torchiano 的《 Patterns for Java Program Testing 》删减改编而成
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/