运用 进行高效单元测试
运用 进行高效单元测试
译者注:最近对 比较感兴趣,看到这篇文章就翻译出来和大家共享,不过我也是
,所以翻译不好的地方请大家指正。我的 如果大家有什么
好的资源和经验欢迎和我交流
引入
现实系统中通常会有一些具有外部依赖性的对象,这些对象和数据库或者其他对象存在诸多关
联。如果我们对这样的对象编写单元和组件级测试的话,可以想象将是非常麻烦的一件事因为
这种外部依赖性的存在,使的我们很难将对象孤立出来进行测试。经常提及的白盒测试法,基
本上就是通过控制对象的外部依赖性来达到隔离对象的目的,使的可以操作这些对象的状态和
相关行为。
运用 模拟对象 !"
或者 !!,就是一个控制对象外部依赖性的解决方案。通过隔离那些关联的数据库访问类,
象 #$ 的相关操作类,对于控制对象外部依赖性将是很有效的。但模拟对象的解决方案对一
些特殊的应用系统架构就显得力不从心了,象那些运用了 %# 的 $&'()
*'!!"或者 #+ ,
+ !"的应用系统架构,在这些架构里,数据库的访问对象是在最底层的而且很隐蔽。
由 -.
编写的开放源代码的 架构体系,对于控制系统内部的数据库依赖性提供了一个非常不
错的解决方案。他允许程序员在整个的测试过程中自由的管理控制数据库的状态,这很重要。
利用 ,在测试之前,我们可以给目标数据库植入我们需要的数据集,而且,在测试完
毕后,数据库完全能够回溯到测试前的状态。
在很多成功的软件项目中,测试自动化往往是关键的层面。 允许开发人员创建测试用
例代码,在这些测试用例的生命周期内我们可以很好的控制数据库的状态。而且这些测试用例
是很容易实现自动化的。这样在测试过程中我们无须对它进行人工的干预,为人工干预造成的
后果而担心就更没必要了。
简单介绍
配置使用 的第一步我们首先需要知道如何生成数据库 !,这个文件是 /- 格式
的,其中包括了数据库的表及相关数据信息。