如何从代码覆盖中排除依赖项?

时间:2017-10-20 11:38:55

标签: unit-testing azure-devops code-coverage xunit

我已将Visual Studio测试任务添加到我的构建定义并启用了代码覆盖率。它可以工作,但它在计算块时也包含依赖项,这使得结果无用。我正在使用xUnit.net的Visual Studio测试运行器

例如,在分析Visual Studio中的代码覆盖率时,我得到以下结果:

  • 摘要:未覆盖13个街区,涵盖38个街区
  • foo.dll:未覆盖13个区块,涵盖20个区块
  • foo.test.dll:未覆盖0个区块,涵盖18个区块

从VSTS下载代码覆盖率报告时,我得到以下结果:

  • 摘要:未涵盖6769个区块,涵盖205个区块
  • fluentassertions.core.dll:未覆盖5639块,覆盖155块
  • fluentassertions.dll:1117块未覆盖,12块积木
  • foo.dll:未覆盖13个区块,涵盖20个区块
  • foo.test.dll:未覆盖0个区块,涵盖18个区块

这在VSTS上显示:

  

screenshot of code coverage report

FluentAssertions仅在我的测试项目中引用和使用。如何从代码覆盖中排除它(以及其他未来依赖项)?

1 个答案:

答案 0 :(得分:1)

如果通过 VSTest.Console.exe 运行测试是预期结果,您可以手动在本地计算机上通过 VSTest.Console.exe 运行测试并检查结果。

Visual Studio测试任务调用 VSTest.Console.exe 来运行测试,因此它会收集其他程序集的代码覆盖率。除了指定 runsetting 文件外,没有配置它的选项。