gpt4 book ai didi

c# - 代码抛出异常后缺少右大括号的代码覆盖率

转载 作者:太空宇宙 更新时间:2023-11-03 12:25:35 25 4
gpt4 key购买 nike

在 Visual Studio 2017 中,抛出异常的语句后的右大括号被视为未覆盖。

在我的例子中,我有一个测试来检查是否抛出了 NullReferenceException:

[Fact]
public void PassingNullConsoleWriter_ThrowsArgumentNullException()
{
Assert.Throws<ArgumentNullException>(() => new UsagePrinter(null));
}

分析这种代码形式的代码覆盖率将 lambda 的整个主体标记为未覆盖,这显然不是真的:

Code Coverage marks body of lambda uncovered

将 lambda 扩展为语句 lambda 发现实际上它是抛出异常的语句之后的右括号:

Code Coverage marks the closing brace uncovered

请注意,两种情况下文件的整体覆盖范围是相同的。

我能做些什么吗?

最佳答案

这个呢?

[Fact]
public void PassingNullConsoleWriter_ThrowsArgumentNullException()
{
var exception = Record.Exception(() => new UsagePrinter(null));
Assert.IsType<ArgumentNullException>(exception);
}

关于c# - 代码抛出异常后缺少右大括号的代码覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45229404/

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