首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rhino-mocks stub和expect之间有什么区别

rhino-mocks stub和expect之间有什么区别
EN

Stack Overflow用户
提问于 2012-11-30 21:16:45
回答 2查看 9K关注 0票数 16

rhino-mocks stub和expect在这里有什么区别:在我看来,它们的行为是完全相同的吗?

代码语言:javascript
复制
mockContext.Stub(x => x.Find<Blog>())
    .Return(new List<Blog>() 
    { 
        new Blog() { Id = 1, Title = "Test" } 
    }.AsQueryable());

mockContext.Expect(x => x.Find<Blog>())
    .Return(new List<Blog>()
    {
        new Blog(){Id = 1,Title = "Title"},
        new Blog(){Id=2,Title = "no"}
    }.AsQueryable());
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-02 17:12:38

Stub()定义了存根对象的行为。

Expect()定义了模拟对象的行为和期望。

因此,如果需要检查模拟方法是否已被调用,则应该使用Expect

代码语言:javascript
复制
var mockContext = MockRepository.GenerateMock<IContext>();
mockContext.Expect(x => x.Find<Blog>()).Return(new List<Blog>());

现在,在测试操作完成后,您可以验证是否满足预期:

代码语言:javascript
复制
mockContext.VerifyAllExpectations();

如果需要存根方法行为,可以使用Stub()

代码语言:javascript
复制
var mockContext = MockRepository.GenerateStub<IContext>();
mockContext.Stub(x => x.Find<Blog>()).Return(new List<Blog>());
票数 20
EN

Stack Overflow用户

发布于 2015-05-06 19:42:29

当您对这种情况下的方法使用Expect时,如果您的方法在测试期间没有被调用,mockContext.VerifyAllExpectations();将失败。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13646038

复制
相关文章

相似问题

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