SimpleStub中MockBehavior.Loose和MockBehavior.Strict有什么区别?

时间:2018-05-07 09:47:35

标签: c# .net unit-testing uwp mocking

我是VS单元测试的新手,我正在学习使用SampleStub框架将模拟模块添加到我的单元测试项目中。

我现在遇到了理解MockBehavior.LooseMockBehavior.Strict的麻烦。我真正想知道的是这两个选择之间的区别?这个选择能否对我的单元测试产生很大的影响?

1 个答案:

答案 0 :(得分:4)

如果你正在使用MockBehaviour.Strict,那么模拟行为就像你嘲笑的类的对象一样。它会导致模拟总是为没有相应期望的调用抛出异常。

因此,如果您稍微更改了类(添加了一个方法),那么您还希望将该方法添加到模拟中以使测试通过。

另一方面,

MockBehavior.Loose将永远不会抛出异常,在必要时返回默认值(对于引用类型为null或对于值类型为零)。这是默认行为。