标签:
单元测试可以更快地发现代码中的错误,因此各个编程语言都拥有了专门的单元测试框架。本文按照一般的开发流程来讨论单元测试框架,即需求分析、设计实现,应用模型等等,希望可以提取单元测试的共性,为理解不同的测试框架提供支持。
从单元测试的机制可以发现一部分隐藏需求,总结如下:
满足以上几点,单元测试甚至可以作为一个可以执行的规格说明和文档。
现有的单元测试一般由一个软件框架支持,提供对需求的基本支持,以gtest为例:
测试框架的序列图如上,其中Fixture是需要用户定制的测试场景,最简单的情况就是场景中只有待测系统SUT,而且不需要设置,例如测试一个函数时的情况。
软件框架只有定制以后,才能发挥作用。对于不同应用场景的定制,仍然遵循一般的软件原则,例如模块化,DRY(不要重复自己),开闭原则(对修改封闭,对扩展开放)等等。需要强调的是:
开发单元测试框架仍然需要遵守一般的开发规范,因此从框架规范中整理出框架背后的需求、设计和实现的一些内容,对于理解和执行单元测试,可以提供额外的帮助。
[1] Gerard Meszaros,XUnit test patterns : refactoring test code,Pearson Education, Inc, 2007
[3] Gtest, http://www.cnblogs.com/coderzh/archive/2009/04/06/1426755.html
标签:
原文地址:http://www.cnblogs.com/liuyunfeng/p/4903446.html