我是VS单元测试的新手,我正在学习使用SampleStub
框架将模拟模块添加到我的单元测试项目中。
我现在遇到了理解MockBehavior.Loose
和MockBehavior.Strict
的麻烦。我真正想知道的是这两个选择之间的区别?这个选择能否对我的单元测试产生很大的影响?
答案 0 :(得分:4)
如果你正在使用MockBehaviour.Strict
,那么模拟行为就像你嘲笑的类的对象一样。它会导致模拟总是为没有相应期望的调用抛出异常。
因此,如果您稍微更改了类(添加了一个方法),那么您还希望将该方法添加到模拟中以使测试通过。
另一方面, MockBehavior.Loose
将永远不会抛出异常,在必要时返回默认值(对于引用类型为null或对于值类型为零)。这是默认行为。