您的位置:首页 > 其它

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();
            }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  string tdd class 引擎 测试