2012-03-01 70 views
1

以下使用是其成功通過使用ITestInterfaceGenerateMock <T>和GenerateStub <T>哪一個在特定的情況下

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

簡單TestMethod的
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); 
} 
+6

可能的dup http://stackoverflow.com/q/2536551/373706 – aqwert 2012-03-01 07:02:11

回答

1

您的場景根本沒有意義。當然,測試方法成功通過,RhinoMocks按預期工作;)您只是硬編碼方法的返回值爲10,然後只是驗證方法調用是否Mock/Stub返回此值,這是一個很好的測試用例來測試RhinoMocks本身但沒有任何自定義行爲(在這種情況下,您的DAL行爲)