何时应该使用Mock对象_第1页
何时应该使用Mock对象_第2页
何时应该使用Mock对象_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第第页何时应该使用Mock对象?何时应该使用Mock对象?

发表于:2023-04-10来源::点击数:标签:MockMOCKmock对象

在“OdeToCode“网站上,KScottAllen理性地分析了如何在单元测试中使用mock对象,并分享了他针对mock对象框架使用情况的想法。首先,Allen就人们对mock的常见误解,抛出了尖锐的意见:我们知道,像与SMTP服务器通信的对象这样的资源,是很难在单元

在“OdeToCode“网站上,KScottAllen理性地分析了如何在单元测试中使用mock对象,并分享了他针对mock对象框架使用情况的想法。首先,Allen就人们对mock的常见误解,抛出了尖锐的意见:

我们知道,像与SMTP服务器通信的对象这样的资源,是很难在单元测试中使用的,有些人以为,只有在需要模拟出与这种资源之间的交互行为时,才用得上mock对象。他们是错的。

接下来,他引用了ColinMackay讲述mock的论文,列出了一些常见的使用mock的场景:

真实对象有着不确定的行为

真实对象很难创建

真实对象的行为很难触发

真实对象响应缓慢

真实对象是用户界面

真实对象使用了回调机制

真实对象尚未存在

然后Allen便道出了文章的主旨。他认为,即使是上面列表中的内容也稍显肤浅,从更深刻、更普遍的意义而言,应该是”在你想把被测试的代码分离的时候,testdoubles[mocks]就显出了作用。“简而言之,按照Allen的观点,用了mock对象,业务组件的测试代码就可以不依赖其它组件了;试举一例来看,A依赖于B,但A的单元测试只会因为A的问题而出现问题,跟B的状态无干。

文章还讲到了在真正的测试驱动开发中,mock对象所扮演的角色:

"模拟角色,而非对象"的们写到,mock技术:

"……在基于对象角色构建的系统中,可以识别出各种角色类型……尤其是,我们已经知道了MockObject可以为我们带来的最大好处——曾被称为接口识别的概念"。

在文章的最后,Allen评价了一些mock对象框架,包括JMock、EasyMock、NUnit。他坚持认为,虽然这些框架很简单,但是想用得得心应手,还得花些心思。

更多相关的软件测试

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论