分析JUnit 框架源代码(上)

发表于:2009-6-16 11:26

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:何正华、徐晔    来源:IBM

  一个简单的 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. 测试图形结果

相关阅读:

分析JUnit 框架源代码(中)

分析JUnit 框架源代码(下)

22/2<12
《2023软件测试行业现状调查报告》独家发布~

精彩评论

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号