gpt4 book ai didi

c# - 如何在单元测试中模拟抛出异常?

转载 作者:可可西里 更新时间:2023-11-01 09:02:17 26 4
gpt4 key购买 nike

如何模拟在 C# 单元测试中抛出的异常?

我希望能够 100% 覆盖我的代码,但我无法测试可能出现异常的代码。例如,我无法模拟可能发生的电源故障。

例如:

public void MyMethod()
{
try
{
...
}
catch(OutOfMemoryException e)
{
...
}
catch(RandomErrorFromDatabaseLayer e)
{
...
}
}

我希望能够模拟此方法中应捕获的任何类型的异常。
有没有图书馆可以帮助我解决这个问题?

编辑 1: 对完成我对最小起订量的要求有什么帮助吗?

最佳答案

您需要创建一个模拟对象来代替可以抛出这些异常的真实对象。然后你可以创建简单的测试,就像这样:

public void ExampleMethod()
{
throw new OutOfMemoryException();
}

如果您使用的是依赖注入(inject)框架,那么用模拟代码替换真实代码会容易得多。

关于c# - 如何在单元测试中模拟抛出异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8851602/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com