首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rhino Mocks返回存根?

Rhino Mocks返回存根?
EN

Stack Overflow用户
提问于 2011-06-06 02:41:29
回答 1查看 172关注 0票数 0

以下是可能的-

代码语言:javascript
复制
var stub1 = MockRepository.GenerateStub<stub1>();
var stub2 = MockRepository.GenerateStub<stub2>();

int returnValue = 1;

stub2.Stub(x => x.stub2Method(Arg<int>.Is.Anything).Return(returnValue).Repeat.Once();
Stub1.Stub(x =>x.stub1Method(Arg<int>.Is.Anything)).Repeat.Once().Return(stub2);

也就是说,存根是否可以从存根返回期望的存根?

在我的代码中,当从stub1.stub1Method调用stub2.stub2Method时,返回的是null而不是returnValue

知道为什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-29 09:13:34

是的,尽管这可能取决于您要清除的内容。

作为一个例子,下面的例子是有效的:

代码语言:javascript
复制
public class Class1
{
    public virtual IClass2 Stub1Method()
    {
        throw new NotImplementedException();
    }
}

public interface IClass2
{
    int StubMethod2();
}

[TestClass]
public class UnitTest1
{
    [TestMethod]
    public void TestMethod1()
    {
        var stub1 = MockRepository.GenerateStub<Class1>();
        var stub2 = MockRepository.GenerateStub<IClass2>();
        var expected = 1;
        stub2.Stub(s => s.StubMethod2()).Repeat.Once().Return(1);
        stub1.Stub(s => s.Stub1Method()).Return(stub2).Repeat.Once();
        var result = stub1.Stub1Method().StubMethod2();
        Assert.AreEqual(expected, result);
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6245004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档