前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【翻译】测试替身

【翻译】测试替身

作者头像
顾宇
发布2022-09-08 16:17:09
3120
发布2022-09-08 16:17:09
举报

原文:https://martinfowler.com/bliki/TestDouble.html

Gerard Meszaros 正在编写《xUnit测试模式》。他遇到的一件尴尬的事情是 stub, mock, fake, dummy 的各种名称的定义,以及人们用来替代测试系统的某些部分的其他东西。为了解决这个问题,他提出了自己的词汇表,我认为这个词汇表值得进一步传播。

他使用的通用术语是测试替身(想想特技替身)。 测试替身是一个通用术语,用于替换生产对象以进行测试的任何情况。 Gerard 列出了多种类型的测试替身:

Dummy对象用于填充参数列表,实际上不会真正的使用。

Fake对象实际上已经有了可以工作的实现,但是通常会采取一些捷径,这使得它们不适合放在生产环境。( 内存数据库比如 SQLite 就是一个好例子)

Stub为测试期间的调用提供了预设的返回值,通常不响应超出测试内容的请求。

Spy也是 Stub,并且会记录一些读对象如何被调用的信息。例如一个 E-mail 服务记录了多少消息被发送。

Mock 预先编程了期望的返回值,这些期望的返回值形成了它们预期接收到的调用规范。 如果它收到了他们非预期的调用,可以抛出异常,并在验证过程中进行检查是否获得了所有调用的期望结果。

(完)

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-07-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档