eis*_*eis 17
我觉得接受的答案是错误的,模拟框架也是隔离框架.
5.1节罗伊Oshroves书"单元测试的艺术"说
一个隔离框架是一组,使创建模拟和存根对象更容易编程的API.隔离框架使开发人员无需编写重复代码来测试或模拟对象交互.
这个定义可能听起来有点乏味,但它必须是通用的才能包含各种隔离框架.对于大多数具有与之关联的单元测试框架的语言,存在隔离框架.例如,C++有mockpp和其他框架,Java有jMock和EasyMock等..NET有NMock,Moq,Typemock Isolator和Rhino Mocks.
隔离框架(模拟框架......但这是一个可怕的名称.已经重载了mock这个词)
所以他们通常指的是同一件事.隔离框架可用于启动模拟,但它也适用于其他测试双精度.隔离框架将是模拟框架所属的超集.
甲测试双为一个总称
这四种类型来自Lasse Koskela,书籍Effective Unit Testing.Martin Fowler和Gerard Meszaros 列出了五种类型:
但区别是一样的.
这两个术语经常互换使用,但有一个重要的区别。在我看来,存根和模拟之间也有类似的区别。Stub ie Isolation Framework仅提供预定义的输出,从而将“测试”与内部状态复杂、响应时间慢等的外部系统隔离。Mock ie Mock Frameworks不仅在需要时提供预定义的输出,而且还具有预编程的期望形成他们预计收到的呼叫的规范。因此,模拟会跟踪其使用情况,如果使用不当,“测试”就会失败。但存根仅提供预定义的输出。
您可以在Martin Fowler 的 Mocks Aren't Stubs 文章中找到更多信息
| 归档时间: |
|
| 查看次数: |
2051 次 |
| 最近记录: |