在Visual Studio 2017中,一个在抛出异常语句后面的闭合括号被认为是未覆盖的。
在我的情况下,我有一个测试检查是否抛出了NullReferenceException:
在这段代码中分析代码覆盖率时,将整个lambda函数体标记为未覆盖,这显然是不正确的:
在我的情况下,我有一个测试检查是否抛出了NullReferenceException:
[Fact]
public void PassingNullConsoleWriter_ThrowsArgumentNullException()
{
Assert.Throws<ArgumentNullException>(() => new UsagePrinter(null));
}
在这段代码中分析代码覆盖率时,将整个lambda函数体标记为未覆盖,这显然是不正确的:
将lambda扩展为语句lambda后,可以发现实际上是在抛出异常的语句后面的闭合括号被认为是未覆盖的:
请注意,两种情况下文件的总体覆盖范围相同。
我能做些什么来解决这个问题吗?
[ExcludeFromCodeCoverage]
。 - Kritner