验证所有模拟用法

时间:2014-07-01 06:29:43

标签: c# unit-testing moq

我想验证我的模拟的所有用法,甚至是那些用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
}

0 个答案:

没有答案