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