Mountebank介绍

本文介绍了打桩服务的概念,它用于接口测试中模拟第三方服务,解耦被测试服务。Mountebank是一个由ThoughtWorks开发的开源打桩服务平台,支持条件响应、代理响应、脚本注入等功能,覆盖多种通讯协议,并有多种编程语言的客户端库。文章对比了Mock和Stub的区别,并详细阐述了Mountebank的优势。
摘要由CSDN通过智能技术生成

## 前言
在TDD领域针对code级别的解耦测试有mock这一概念,那么在接口测试这个层面是否也有类似的工具呢?

答案是肯定的:有。那就是打桩服务。

近年来随着微服务的普及,接口测试、集成测试更多要考虑服务之间的解耦,从而达到测试的聚焦——只关注测试服务的业务部份。
 

## 什么是打桩服务
打桩服务呢?顾名思义用一种非侵入性的方式,让被测试服务或接口中调用的第三方服务被模拟,这样当测试到使用第三方服务的时候能够快速反馈指定内容,而无需真正调用到第三方服务。这个模拟器就是打桩服务。
 

## 他和mock服务的区别
一些熟悉TDD的工程师看到这里肯定觉得这就是Mock嘛!是的,他和TDD中的mock的主要区别在于mock是code级别的,而打桩服务属于应用层面的,level更高一些,力度更大一些。

Martine Fowler写过一篇关于mock和stub去别的文章,感兴趣的可以看一下:[Mocks Aren't Stubs]。总结以下几个主要的不同如下:

1. Mock 侧重于行为验证(behavior verification)

行为验证更多的是根据测试对象的被测试业务逻辑,设计被模拟对象的反馈行为,从而达到验证业务逻辑的目的

例如一个邮件服务,如果使用Mock方式模拟它,那么当验证使用这个邮件服务的

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值