C# GenerateMock<;T>;并生成sub<;T>;在特定场景中使用哪一个

C# GenerateMock<;T>;并生成sub<;T>;在特定场景中使用哪一个,c#,rhino-mocks,C#,Rhino Mocks,下面是一个简单的测试方法,它使用ITestInterface ITestInterface mockProxy = MockRepository.GenerateMock<ITestInterface>(); ITestInterface mockProxy=MockRepository.GenerateMock(); 或 ITestInterface mockProxy=MockRepository.GenerateStub(); 有人能帮我在这个特定场景中使用哪一个吗 下

下面是一个简单的测试方法,它使用
ITestInterface

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

ITestInterface mockProxy=MockRepository.GenerateStub();
有人能帮我在这个特定场景中使用哪一个吗

下面是用于测试业务层方法和x的TestMethod。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);
}
[TestMethod]
公共void TestMethod1()
{
ITestInterface mockProxy=MockRepository.GenerateMock();
ITestInterface mockProxy=MockRepository.generateSub();
mockProxy.Stub(x=>x.Method(Arg.Is.Anything)).Return(10);
var result=mockProxy.BusinessLayerMethod(10);
断言。等于(10,结果);
}

您的场景毫无意义。测试方法肯定成功通过,
RhinoMocks
工作正常;)您只需将方法的返回值硬编码为
10
,然后简单地验证对Mock/Stub的方法调用是否返回此值,这是测试
rhinomock
本身的良好测试用例,但不是任何自定义行为(在本例中是DAL行为)

您的场景根本没有意义。测试方法肯定成功通过,
RhinoMocks
工作正常;)您只需将方法的返回值硬编码为
10
,然后简单地验证对Mock/Stub的方法调用是否返回此值,这是测试
rhinomock
本身的良好测试用例,但不是任何自定义行为(在本例中是DAL行为)

可能的dup可能的dup
[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);
}