一个简单的 JUnit 程序实例
我们首先用一个完整实例来说明 JUnit 的使用。由于本文的分析对象是 JUnit 本身的实现代码,因此测试类实例的简化无妨。本部分引入《 JUnit in Action 》中一个 HelloWorld 级别的测试实例,下文的整个分析会以该例子为基点,剖析 JUnit 源代码的内部流程。
待测试类如下:
图 1. 待测试代码
该类只有一个 add 方法,即求两个浮点数之和返回。
下面介绍测试代码部分,本文以 JUnit3.8 为实验对象,JUnit4.0 架构类同。笔者对原书中的测试类做了一些修改,添加了一个必然失败的测试方法 testFail,目的是为了演示测试失败时的 JUnit 代码流程。
完整的测试类代码如下:
图 2. 测试类代码
TestCalculator 扩展了 JUnit 的 TestCase 类,其中 testAdd 方法就是对 Calculator.add 方法的测试,它会在测试开始后由 JUnit 框架从类中提取出来运行。在 testAdd 中,Calculator 类被实例化,并输入测试参数 10 和 50,最后用 assertEquals 方法(基类 TestCase 提供)判断测试结果与预期是否相等。无论测试符合预期或不符合都会在测试工具TestRunner 中体现出来。
实例运行结果:
图 3. 实例运行结果
从运行结果中可见:testAdd 测试通过(未显示),而 testFail 测试失败。图形界面结果如下:
图 4. 测试图形结果
相关阅读: