GenerateMock <t>和GenerateStub <t>在特定场景中使用哪一个</t> </t>

时间:2012-03-01 05:59:13

标签: c# rhino-mocks

以下是一个简单的TestMethod,它使用ITestInterface

成功传递
ITestInterface mockProxy = MockRepository.GenerateMock<ITestInterface>(); 

OR

ITestInterface mockProxy = MockRepository.GenerateStub<ITestInterface>();

有人可以帮助我在这个特定场景中使用哪一个。

以下是TestMethod用于测试业务层方法,x.Method是数据访问层方法。

[TestMethod]
public void TestMethod1()
{
    ITestInterface mockProxy = MockRepository.GenerateMock<ITestInterface>();

    ITestInterface mockProxy = MockRepository.GenerateStub<ITestInterface>();

    mockProxy.Stub(x => x.Method(Arg<int>.Is.Anything)).Return(10);

    var result = mockProxy.BusinessLayerMethod(10);

    Assert.AreEqual(10, result);
}

1 个答案:

答案 0 :(得分:1)

你的场景根本没有意义。当然测试方法成功通过,RhinoMocks按预期工作;)您只需将方法的返回值硬编码为10,然后只需验证Mock / Stub上的方法调用是否返回此值,这是测试RhinoMocks本身但没有任何自定义行为(在这种情况下是您的DAL行为)的良好测试用例