【问题标题】:Code Coverage for .NET Standard project.NET Standard 项目的代码覆盖率
【发布时间】:2017-03-08 13:14:43
【问题描述】:

如何获得使用 Visual Studio 2017 创建的 .NET Standard 项目的代码覆盖率结果?

  • 我尝试使用 Visual Studio 附带的功能(菜单 → 测试 → 分析代码覆盖率 → 所有测试)。这给了我以下报告:

    这不是我所期望的,因为

    • 没有列出我的实际项目,而我只看到了测试项目。

    • 没有列出我在这些测试项目中的代码,而是看到名为 AutoGeneratedProgram 的东西。

  • 我尝试过使用 dotCover。它只是说它不支持我的项目。

  • 我尝试过使用 OpenCover。它说什么都没有涵盖:

现在我已经没有东西可以尝试了。任何帮助将不胜感激!

【问题讨论】:

  • VS 2017 的覆盖率结果有什么问题?您是否尝试过代码覆盖着色?你应该解释你期望从 VS 2017 中得到什么。
  • 哦。对不起。我已经更新了问题。
  • 好的,所以您确实希望看到相反的方向。这确实是提到的代码覆盖着色进入游戏的地方。否则,这个概念是报告您编写的测试覆盖了多少代码 - 从 TDD 的角度来看,这当然令人恼火,因为您总是期望 100% 的覆盖率,但有些代码未能通过测试你写的。
  • 您能否展示一些小样本测试以明确您希望在覆盖率报告中看到哪些项目引用?我这里没有 VS 2017 ATM,但我不希望它与这里的 VS 2015 有太大不同。
  • 这个问题只适用于 VS 2017。VS 2015 没有问题。虽然,那里甚至不支持新的 .NET Standard 项目类型。

标签: visual-studio-2017 code-coverage .net-standard


【解决方案1】:

通过将其添加到我的 csproj 解决了问题:

<DebugType>Full</DebugType>

【讨论】:

  • 如果 DebugType "Full" 让你感到紧张,将 DebugType 设置为 "dpbonly" 也对我有用。
  • VS2017无法加载项目
猜你喜欢
  • 1970-01-01
  • 2013-11-12
  • 2018-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-08
  • 1970-01-01
相关资源
最近更新 更多