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

Cho*_*ing 3 .net c# unit-testing mocking uwp

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

现在我遇到了理解MockBehavior.Loose和解决问题的麻烦MockBehavior.Strict。我真正想知道的是这两个选择之间的区别?这种选择会对我的单元测试产生很大的影响吗?

Igo*_*dov 7

如果使用MockBehaviour.Strict模拟,则其行为就像模拟的类的对象一样。它使模拟总是为没有相应期望的调用抛出异常。

因此,如果您稍稍更改了类(添加了方法),则还需要将该方法添加到模拟中以使测试通过。

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