我如何使一个属性抛出一个异常与Moq模拟集

本文关键字:异常 一个 Moq 模拟 何使一 属性 | 更新日期: 2023-09-27 18:06:47

我正在测试一些遗留代码,我们使用Moq 4进行隔离。在set{}组件中有一个类具有带有验证的属性。我需要它在为我的一个测试调用时抛出异常,但我无法让它这样做。我尝试了以下方法:

fakeNetwork
  .Setup(n => n.IpAddress)
  .Throws(new SystemNotFoundException("1.1.1.1");

没有抛出异常。

fakeNetwork
  .SetupSet(n => n.IpAddress)
  .Throws(new SystemNotFoundException("1.1.1.1");

这个用法已经过时了。替换的是。setupset (Action),但我不确定如何使一个抛出异常的动作。我们将警告视为错误,所以我不知道这是否有效,但由于我无论如何都无法使用过时的版本,因此我没有尝试关闭复选框。

任何提示都会很有帮助的!

我如何使一个属性抛出一个异常与Moq模拟集

改编自Moq文档

mock.SetupSet(foo => foo.Name = "foo").Throws<ArgumentException>();