我有一个单元测试
当模拟调用未按预期验证时,我会收到异常,从而导致测试失败 我应该如何正确地调用此验证?我应该打电话吗
// verify property get accessor call
m.VerifyGet<bool>(p => p.IsRead, Times.AtLeastOnce());
或者我应该用Assert
来调用它// verify property get accessor call
Assert.DoesNotThrow(() => m.VerifyGet<bool>(p => p.IsRead, Times.AtLeastOnce()));
当验证失败时,无论如何我都会得到例外 模拟验证的正确方法是什么?
答案 0 :(得分:2)
VerifyGet就足够了,断言似乎没有增加任何价值,为什么要添加更多的措辞?
答案 1 :(得分:1)
应该使用DoesNotThrow方法来测试您自己的方法是否符合您的规范。
简而言之,添加DoesNotThrow看起来就像是在测试VerifyGet的行为而不是SUT的行为。
当然,你可以将它包装在VerifyGet中,但我认为只会让事情变得混乱,因为无论如何VerifyGet都会使测试失败。