上一篇文章, 我在单元测试的时候, 把依赖项设为null:
?
然后便出现了NullReferenceException, 导致测试无法正常运行....首先应该做的是在TransferApproval的构造函数里判断参数是否为null, 如果为null的话应该抛出ArgumentNullException:
?
这是更恰当的异常....还是红色的, 但现在是测试没通过, 并不是抛出异常.
测试没通过的意思就是期待值和实际返回值不符....MockBehavior是一个枚举, 它有三个值:
MockBehavior.Strict, 如果mock对象上的方法没有被预先设置好, 那么测试中调用该方法的时候就会抛出异常....MockBehavior.Loose, 即使方法没有被预先设置, 调用它的时候也不会抛出异常. 它会返回该方法返回类型的默认值.