我正在尝试测试一种方法,该方法在特定场景中应抛出一个具有内部异常的异常:
mockInvoiceRepository.Setup(x => x.PersistInvoice(invoice, false)).Throws(new Exception());
这行代码很好,除了我需要为抛出的新异常设置innerexception。我不能这样做,因为它是一个只读属性,也不能嘲笑它,因为它不是虚拟的。
关于如何实现这一目标的任何想法?
答案 0 :(得分:5)
这会有用吗?这里我使用的是带有字符串消息的overloaded constructor of Exception(您似乎并不关心)和内部异常。
var innerException = new ExpectedInnerException();
mockInvoiceRepository.Setup(x => x.PersistInvoice(invoice, false))
.Throws(new Exception("", innerException));