CodeCoverage.exe和vstest.console.exe不生成覆盖行

时间:2017-01-13 21:53:31

标签: c# visual-studio sonarqube code-coverage

我有一个单元测试项目,它只针对WebAPI项目编写了一(1)个测试。 当我在Visual Studio 2015 Enterprise下运行测试覆盖时,它会生成包含9行的报告。这是正确的。

然而,当我使用" vstest.console.exe"进行覆盖率分析时使用" CodeCoverage.exe运行分析"这是生成 .coverage .coveragexml 文件名正确,当我用VS 2015打开此文件时,它显示0行代码。

在我运行收集和分析命令时,我的目标是同一个单元测试.dll。

我愿意再次使用我的报告sonarqube。

我在这里错过了什么吗?

1 个答案:

答案 0 :(得分:0)

在运行VSTest.Console.exe以显示详细日志时,可以添加“ / Diag:”参数。 我遇到的一个问题是,如果我在本地运行VSTest.Console.exe,它会起作用;但是当我在Jenkins中运行VSTest.Console.exe时,它没有覆盖数据。 这是在Jenkins中运行VSTest.Console.exe的解决方案:VSTest.console.exe when run under Jenkins generate empty .coverage file

我找不到其他有用的信息,为什么在Jenkins中以本地帐户身份运行。 但是,当我使用OpenCover时,可能会使用类似的方法使用VSTest.Console获取覆盖率数据。 OpenCover需要“注册分析器”才能获取覆盖率数据。 ({https://github.com/OpenCover/opencover/blob/master/main/OpenCover.Documentation/Usage.rtf,搜索“注册”)

所以,我认为您的问题可能是由许可引起的。 只需尝试在adminstrator中运行它即可。 :)