有没有办法配置模拟来为被模拟的接口(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/