【发布时间】:2012-01-13 13:51:52
【问题描述】:
如何模拟 C# 单元测试中抛出的异常?
我希望能够 100% 覆盖我的代码,但我无法测试可能出现异常的代码。例如,我无法模拟可能发生的电源故障。
例如:
public void MyMethod()
{
try
{
...
}
catch(OutOfMemoryException e)
{
...
}
catch(RandomErrorFromDatabaseLayer e)
{
...
}
}
我希望能够模拟此方法中应捕获的任何类型的异常。
有没有图书馆可以帮助我解决这个问题?
编辑 1: 对完成我对 Moq 提出的要求有任何帮助吗?
【问题讨论】:
-
您的代码示例并不能真正解释您的问题。为什么不能模拟电源故障?您是否试图“注入”会导致上述异常被抛出的条件?真正的问题是什么?
-
是的,就像在 stackoverflow.com/a/8851628/79379 中一样,但没有我为了模拟数据库故障而破坏数据库。
标签: c# unit-testing exception c#-4.0 exception-handling