Moq.Linq.MockRepository有什么作用?

时间:2011-04-21 03:09:27

标签: c# mocking moq

我想弄清楚MockRepository做了什么 我看到有一个我理解的Create方法,它也有Of和OneOf方法,我不明白 应该是什么?模拟或T本身?
表达式应该如何?是设置表达式吗?
我究竟在这里查询到底是什么?它只是另一种创建模拟的方法,还是跟踪现有的模拟并获取它们?

2 个答案:

答案 0 :(得分:2)

我认为它用于更轻松地验证多个模拟(来自moq docs -sort):

        var mockRepo = new Moq.MockRepository(MockBehavior.Default);
        var foo = mockRepo.Create<IFoo>();
        var bar = mockRepo.Create<IBar>();

设置嘲笑并锻炼嘲笑

        mockRepo.VerifyAll();

无论如何,你想用这门课完成什么?

答案 1 :(得分:0)

我也遇到了MockRepository,的问题。也许我对这个课程有一个概念上的误解。我对MockRepository的看法是它创建类似于模拟的模板实例的东西。

要使用示例接口,假设IFoo上有几个属性和方法。我想在测试夹具级别设置一个模板模拟实例,每个属性和方法都有一些合理的默认返回值。然后,在每个测试方法中,使用适合于手头测试的值覆盖这些值。这样可以节省每次测试中每个IFoo模拟的设置。

在之前的项目中,我编写了自己的模拟工厂类,但MockRepository的描述听起来像是一样的。

我误解了MockRepository?