2017-10-20 192 views
1

我已经将Visual Studio Test任务添加到了我的构建定义并启用了代码覆盖。它可以工作,但是在计算块时还会包含依赖项,这会导致结果无用。我使用Visual Studio的测试运行的xUnit.net如何从代码覆盖率中排除依赖关系?

例如,在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只引用,并在我的测试项目中使用。我如何从代码覆盖率中排除它(以及其他未来的依赖关系)?

+0

您是否检查过文档? https://msdn.microsoft.com/en-us/library/jj159530.aspx和https://stackoverflow.com/questions/36853340/excluding-assemblies-from-code-coverage-in-visual-studio-team-服务 – Jacob

+0

@Jacob这是一个选项,但我宁愿在VSTS中设置一个“set and forget”方法,而不是创建需要维护的'.runsettings'文件。 (也许我应该只是创建一个错误报告,因为我怀疑它是如何运作的。) – Stijn

回答

1

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

Visual Studio的测试任务调用VSTest.Console.exe运行测试,所以它收集额外的组件的代码覆盖。除了指定runsetting文件外,没有其他配置选项。

相关问题