【发布时间】:2015-05-19 14:42:27
【问题描述】:
我正在测试一个方法,如果某些参数是某些值而不是其他值,它将调用另一个方法。
我使用 Moq 的 Verify 来测试这个。但是,当我使用 xUnit 查看在发送带有数据的参数时是否未调用该方法时,不应使该方法调用第二种方法。
问题是我做不到
mockObject.Verify();
Assert.Throws<Moq.MockVerificationException>(()=>mockObject.Method());
我从 MSTest 更改为 xUnit,因为内置了对 throws 的支持,并且之前我必须使用 ExpectedException 属性来装饰我的测试方法。
我尝试将 Moq 非公共异常强制转换为公共父级 Moq.MoqException,但这会引发错误。
所以我想我可能不得不这样做:
try {moqObj.Verify();}
catch(Moq.Exception mve)
{
Assert.SomethingIsException();
}
【问题讨论】: