【问题标题】:Finding code coverage in visual studio 2012 when Test and source code are in different solutions当测试和源代码位于不同的解决方案中时,在 Visual Studio 2012 中查找代码覆盖率
【发布时间】:2012-12-18 12:15:32
【问题描述】:

我在两种不同的解决方案中有源代码和单元测试。测试项目是指源代码二进制文件。怎样才能找到代码覆盖率?如果我选择“测试”菜单下的“分析代码覆盖率”菜单,Visual Studio 会显示覆盖率,但它看起来像是测试代码的覆盖率,而不是源代码的覆盖率。当我从代码覆盖率窗口双击测试时,测试代码会突出显示。没有办法看到代码突出显示可以在源代码(被测代码)中显示覆盖的代码,这实际上是在不同的解决方案中。我使用 Visual Studio 2012 和 Nunit(通过 Nunit Visual Studio 适配器)作为我的单元测试工具。

【问题讨论】:

  • 您的测试和源代码不在同一个解决方案中有什么原因吗?

标签: visual-studio nunit code-coverage


【解决方案1】:

请更准确地说明您是如何运行测试的 - NUnit 或 VS Test Runner?

但是,如果您使用 NUnit 来运行此问题中标记的测试,那么请查看“OpenCover”工具(只需 google 即可)。

OpenCover 能够启动您的 Testrunner(以及所有其他可执行文件),然后进行检测并生成覆盖结果。

很容易配置,例如:

OpenCover.Console.exe -register:user -target:Target.exe -filter:+[*]* -output:output.xml 

典型的用法是批量运行,然后添加一个 ReportGenerator 步骤。

我们在持续集成系统 (Jenkins) 中以这种方式使用它。

【讨论】:

    【解决方案2】:

    尝试使用NCover 等工具。对于不同解决方案中的产品代码和测试代码,我必须像您一样这样做。有效。但是,您必须阅读文档并调整设置。遗憾的是,我忘记了这些细节。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-05
      • 1970-01-01
      • 2020-03-16
      • 1970-01-01
      • 2013-12-03
      相关资源
      最近更新 更多