另外一个测试方法我也这么改一下, 然乎重新Build. Run All Tests:
?
还是红色的, 但现在是测试没通过, 并不是抛出异常.
测试没通过的意思就是期待值和实际返回值不符....我并没有对这个Mock版本的IPhysicalExamination的IsHealthy()方法设定返回值, 正因为如此, 它才会返回它方法返回类型的默认值, 它的返回类型是bool, 而bool的默认值是...It.IsAny(), 它表示传递给方法的参数的类型只要是T就可以, 值是任意的. 只要满足了这个条件, 那么方法的返回值就是后边Returns()方法里设定的值....MockBehavior是一个枚举, 它有三个值:
MockBehavior.Strict, 如果mock对象上的方法没有被预先设置好, 那么测试中调用该方法的时候就会抛出异常....MockBehavior.Loose, 即使方法没有被预先设置, 调用它的时候也不会抛出异常. 它会返回该方法返回类型的默认值.