mock and stub -- ver 0.1
2007-07-31 17:41
423 查看
1 useful links:
Mocks Aren't Stubs
Mock Objects and Stubs: The Bottle Brush of TDD
The Difference between Mocks and Stubs
不要把Mock当作你的设计利器
2 self notes:
stub将返回的数据硬编码,以使对输入返回期望输出
mock相对较新,用于记录和验证两个类之间的交互。
动态mock:通过mock引擎实现,将被测试类作为参数传入。记录了调用状态。
静态mock,通过成员变量手工记录调用情况或内部状态。
典型的使用mock的方法:
[Test]
public void CloseViewWhenViewIsNotDirty()
{
// 1.) Create the mock objects
IMock msgBoxMock = new DynamicMock(typeof(IMessageBoxCreator));
IMock viewMock = new DynamicMock(typeof(IView));
// 2.) Define the expected interaction
msgBoxMock.ExpectNoCall("AskYesNoQuestion", typeof(string), typeof(string));
viewMock.ExpectAndReturn("IsDirty", false);
viewMock.Expect("Close");
// 3.) Create the presenter class with the mock objects
Presenter presenter = new Presenter(
(IView) viewMock.MockInstance,
(IMessageBoxCreator) msgBoxMock.MockInstance);
// 4.) Perform the unit of work
presenter.Close();
// 5.) Verify the interaction
msgBoxMock.Verify();
viewMock.Verify();
}
Mocks Aren't Stubs
Mock Objects and Stubs: The Bottle Brush of TDD
The Difference between Mocks and Stubs
不要把Mock当作你的设计利器
2 self notes:
stub将返回的数据硬编码,以使对输入返回期望输出
mock相对较新,用于记录和验证两个类之间的交互。
动态mock:通过mock引擎实现,将被测试类作为参数传入。记录了调用状态。
静态mock,通过成员变量手工记录调用情况或内部状态。
典型的使用mock的方法:
[Test]
public void CloseViewWhenViewIsNotDirty()
{
// 1.) Create the mock objects
IMock msgBoxMock = new DynamicMock(typeof(IMessageBoxCreator));
IMock viewMock = new DynamicMock(typeof(IView));
// 2.) Define the expected interaction
msgBoxMock.ExpectNoCall("AskYesNoQuestion", typeof(string), typeof(string));
viewMock.ExpectAndReturn("IsDirty", false);
viewMock.Expect("Close");
// 3.) Create the presenter class with the mock objects
Presenter presenter = new Presenter(
(IView) viewMock.MockInstance,
(IMessageBoxCreator) msgBoxMock.MockInstance);
// 4.) Perform the unit of work
presenter.Close();
// 5.) Verify the interaction
msgBoxMock.Verify();
viewMock.Verify();
}
相关文章推荐
- What's the difference between a stub and mock?
- Mock and Stub differences
- [读书笔记]Test Strategy - Intruductions of Stub and Mock
- Stub, Mock and Proxy Testing
- stub and mock difference
- PHPUnit单元测试对桩件(stub)和仿件对象(Mock)的理解
- Tell Don't Ask and Mock Objects(转载)
- 单元测试之Stub和Mock
- Stub和Mock的区别
- Fekit mock and base config for linux
- createMock and createNiceMock and createStrickMock differences
- 台式APE播放机 硬盘APE播放器 APE Player Ver0.1完成
- Dummy,Fake,Stub和Mock
- 10 Completely Free Wireframe and Mockup Applications
- RhinoMocks : Stub和Mock的区别
- PyMining-开源中文文本数据挖掘平台 Ver 0.1发布
- Stub和Mock的理解
- 软件测试- 3 - Mock 和Stub的区别
- Powermock and sonar jacoco的覆盖率不兼容问题解决 1
- Mock 和Stub之间的区别