我想验证我的模拟的所有用法,甚至是那些用try-catch
包裹的用法。我希望Strict mock可以完成这项工作,但它会在try
内引发异常,因为catch
被吞并了,当我尝试VerifyAll()
之后,Moq找不到任何用法。
除了使用Verify()
手动检查所有可能的呼叫之外,我还有其他任何选项来检查模拟的所有用法吗?
以下是严格模拟的一个例子:
[Test]
public void WhenCondition_ThenResult()
{
var client = new Mock<IClient>(MockBehavior.Strict);
try
{
client.Object.Send(null);
}
catch (Exception)
{
}
client.VerifyAll(); //no errors
}