起订量为任何成员抛出异常

标签 moq

有没有办法配置模拟来为被模拟的接口(interface)的任何成员抛出异常?

我知道:

_mockDependancy.Setup(x => x.DoSomething()).Throws<Exception>();

它配置 .DoSomething() 方法来抛出,但是我正在寻找类似的东西:

_mockDependancy.SetReturnsDefault<int>(-1);

这使我不必指定确切的方法。所以,理想情况下是这样的:

_mockDependancy.SetThrowsDefault<Exception>();

最佳答案

Moq 项目的贡献者向我指出,这可以通过使用 MockBehavior.Strict 创建 Mock 来实现

_mockDependancy= new Mock<IDependancy>(MockBehavior.Strict);

然后,任何未经过 .Setup() 的成员都会抛出:

MockException()

关于起订量为任何成员抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38958317/

相关文章:

c# - Mock.Verify() 失败 - 此设置不匹配?

c# - 在不指定 T 的情况下模拟 Moq 中的泛型方法

asp.net-mvc - 尝试使用 Moq 模拟 HtmlHelper 时抛出 MissingMethodException

c# - 如何使用 Moq 模拟扩展方法?

c# - 在类声明中使用 #ifdef 使实现仅在调试期间可用以进行单元测试

c# - 模拟 HttpPostedFileWrapper

c# - Moq Equals 仅适用于 IEquatable

c# - 如何对 CanExecute RoutedEventHandler 进行单元测试?

c# - 测试序列化的最佳方法是什么?

unit-testing - 使用最小起订量模拟虚拟只读属性