rhino-mocks stub和expect在这里有什么区别:在我看来,它们的行为是完全相同的吗?
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());发布于 2012-12-02 17:12:38
Stub()定义了存根对象的行为。
Expect()定义了模拟对象的行为和期望。
因此,如果需要检查模拟方法是否已被调用,则应该使用Expect
var mockContext = MockRepository.GenerateMock<IContext>();
mockContext.Expect(x => x.Find<Blog>()).Return(new List<Blog>());现在,在测试操作完成后,您可以验证是否满足预期:
mockContext.VerifyAllExpectations();如果需要存根方法行为,可以使用Stub()
var mockContext = MockRepository.GenerateStub<IContext>();
mockContext.Stub(x => x.Find<Blog>()).Return(new List<Blog>());发布于 2015-05-06 19:42:29
当您对这种情况下的方法使用Expect时,如果您的方法在测试期间没有被调用,mockContext.VerifyAllExpectations();将失败。
https://stackoverflow.com/questions/13646038
复制相似问题