Nunit 使用模拟验证的单元测试
我有一个单元测试Nunit 使用模拟验证的单元测试,nunit,moq,verification,Nunit,Moq,Verification,我有一个单元测试 创建一个模拟 调用我要测试的方法(也注入我的mock) 断言方法结果 验证模拟调用 当模拟调用未按预期进行验证时,我会得到一个异常,从而导致测试失败。 我应该如何正确地称之为验证?我应该打电话吗 // verify property get accessor call m.VerifyGet<bool>(p => p.IsRead, Times.AtLeastOnce()); //验证属性get访问器调用 m、 VerifyGet(p=>p.IsRead,T
我应该如何正确地称之为验证?我应该打电话吗
// verify property get accessor call
m.VerifyGet<bool>(p => p.IsRead, Times.AtLeastOnce());
//验证属性get访问器调用
m、 VerifyGet(p=>p.IsRead,Times.AtLeastOnce());
或者我应该用断言来称呼它
// verify property get accessor call
Assert.DoesNotThrow(() => m.VerifyGet<bool>(p => p.IsRead, Times.AtLeastOnce()));
//验证属性get访问器调用
Assert.DoesNotThrow(()=>m.VerifyGet(p=>p.IsRead,Times.atlestOnce());
当验证失败时,我仍然会得到一个异常。模拟验证的正确方法是什么?验证Get就足够了,assert似乎没有增加任何价值,那么为什么要添加更多的措辞呢?应该使用DoesNotThrow方法来测试您自己的方法是否符合您的规范 简而言之,添加DoesNotThrow看起来像是在测试VerifyGet的行为,而不是SUT的行为 当然,您可以将其包装在VerifyGet中,但我认为这只会让事情变得混乱,因为VerifyGet无论如何都会通过测试