>

谈谈单元测试中的测试桩实践

- 编辑:宜春市空间模块有限公司 -

谈谈单元测试中的测试桩实践

  写程序的时候,有时可能遇到这样的情况。比如我们开发了一个数据处理模块,被处理

  的数据需要调用其他模块(由其他团队开发,或者是第三方提供,总之测试的责任不在你),

  从数据库或者文件或者通过网络从其他进程中获取。为了对该数据处理模块进行单元测试,

  我们通常得相应的配置起一个数据库或者文件系统,甚至是相关进程,以求正常的得到数据,

  这里想讨论一种我以前曾经使用过的简化单元测试的思路。通过接口来封装对外部模块

  的调用,在单元测试时,用调试实现代替外部实现。受myworkfirst指点,又google了一

  下,才知道这是单元测试里早已成熟的“测试桩”。但我仍然想把我的实践和大家分享一下。

  我们用一个简单的例子来说明。比如我实现了一个SystemTimeSynchronizer 类,周期性

  NtpClock#getTime()在这里只是一个示意,说明在没有预设NTP 服务器的情况下,奇骏模块它将抛出

  异常(这和我们在单元测试时实际遇到的情况类似)。但是请你想象其内部实现通过访问预设

  的NTP 服务器获取标准时间。要让NtpClock 类正常的运行起来,需要一个NTP 服务器,

本文由新闻动态发布,转载请注明来源:谈谈单元测试中的测试桩实践