为属性设置默认值
但是, 问题来了, 我还有一些其它的单元测试方法, 它们也需要用到这个属性, 现在它们的状态是:
?...有的测试失败是因为其MockBehavior是Strict的, 而其它的失败则是因为里面出现了NullReferenceException.
针对这些情况, 我们可以这样设定:
?...这样设置之后, 它会返回属性类型的默认值, 因为我没有设定返回值.
虽然测试依然不通过, 这是因为逻辑上的问题, 而不会抛出异常:
?
针对这种情况, 还有一种更好的办法....因为最后一层是bool类型的, 是值类型, 所以上面的设置不起作用, 返回的是false. 所以测试没通过.
那我就把它改成string类型好了:
?
审批方法:
?
然后再调试测试:
?...如果这个对象上有很多属性需要进行设置和追踪, 那么可以使用:
mock.SetupAllProperties(); 这个方法:
?
注意, 这个方法应该最先调用, 否则的话其它的设置可能会被覆盖.