问题标签 [opencover]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
506 浏览

opencover - 使用 opencover 的覆盖率报告

好吧,我正在使用 opencover 为 html 格式的 cpp 代码生成覆盖率报告。开盖所产生的报告似乎就像这篇文章中所说的每种测试方法所涵盖的代码量一样。

第一张截图:

覆盖报告

第二张截图:

报告.

如第二个屏幕截图所示,为测试项目显示了覆盖率报告,但我想要包含在其标题中calctest.cpp的实际源文件的覆盖率报告。calc.cpp

我想显示的就像在calctest.cpp其中看到的两个方法 sum 和 mul 中所示calc.cpp,这两个方法应该显示在第一个屏幕截图中,而不是 testmethod1、testmethod2 等。

我想我说清楚了,或者我理解错误。

编辑:

我想我面临着同样的问题

更新:

正如 Shaun Wilde 在编辑中提到的链接中所说,在检查 opencover 生成的 .xml 时,我找不到我的源项目名称,即CalcProject.lib在其中,它只有 test project by name CalcTest.dll。并且有一些带有以下语句的模块标签

完整的 .xml 输出 cab 可以在这里找到

0 投票
1 回答
212 浏览

typemock - Typemock 配置分析器覆盖范围

我已经安装了 TypeMock 7.4.3 并设置了完整的试用许可证,但我没有在配置工具中看到“Profilers/Code coverage”选项卡。我已经阅读了用户指南和 TypeMock 论坛,但没有找到答案。我需要使用配置文件链接来集成 TypeMock 和 OpenCover。试用版可以吗?

0 投票
0 回答
1494 浏览

.net - NCover 与 OpenCover 精度

我最近一直在比较 .NET 测试覆盖工具 NCover 和 OpenCover。似乎 NCover 报告的代码覆盖率高于 OpenCover。有没有人做过任何概念证明来确定哪个工具在代码覆盖率方面具有更高的准确性?

0 投票
1 回答
1667 浏览

asp.net - 针对 iis 运行的 OpenCover

在针对 w3wp 的 iis 运行 opencover 时,是否可以确定使用哪个应用程序池和端口?

运行时出现错误:

C:\Users\bilgevd\Desktop\KnowH\WebFoundations_v1.2.1\WebFoundations>"C:\Users\bilgevd\Desktop\KnowH\WebFoundations_v1.2.1\packages\OpenCover.4.5.2506\OpenCover.Console.exe" -目标: C:\Windows\System32\inetsrv\w3wp.exe -targetargs:-debug -targetdir:C:\Users\bilgevd\Desktop\KnowH\WebFoundations_v1.2.1\WebFoundations -filter:+[ ] -register :user 执行:C: \Windows\System32\inetsrv\w3wp.exe 按“Q”关闭进程:

关闭进程。

提交...没有结果,这可能有多种原因。最常见的原因是:1) 缺少与过滤器匹配的程序集的 PDB 请查看输出文件并参阅有关过滤器的使用指南 (Usage.rtf)。2) profiler 可能没有正确注册,请参考使用指南和-register 开关。

0 投票
1 回答
549 浏览

code-coverage - OpenCover 输出 xml 文件的代码覆盖率为 0%

我正在尝试使用 OpenCover 检查我的测试的代码覆盖率,但生成的输出 xml 的代码覆盖率为 0%,并且模块块为空。

我正在使用以下命令行参数来检查代码覆盖率

这是输出xml文件的内容

有什么建议么?

0 投票
1 回答
772 浏览

.net - Sonar runner 在命令行中适用于 .NET 项目,但报告 Jenkins 中缺少 PDB

我正在使用 Sonar 和 OpenCover 来收集我使用 Jenkins 作为 CI 系统的 C# 项目的代码覆盖率信息。Sobar 服务器是 v4.3,运行器在测试机器上是 2.3 版本。

棘手的部分是:当我从测试机(Server 2008R2)的命令行运行 sonar runner 时,它与 OpenCover 完美配合,并在测试完成后收集覆盖率数据。例如:

但是,如果我将它设置为从 Jenkins 作业运行完全相同的命令,它仍然可以正确执行测试,但无法收集覆盖信息并抱怨缺少 PDB 或错误的探查器配置:

那么 Sonar 仪表板上的代码覆盖率报告为 0%。

你们中的一些人可能已经经历过这种情况——这可能与某处的配置问题有关吗?我检查了 SonarQube 的网站,没有这样的信息;在网上冲浪,仍然很少有人谈论这个,并认为这可能是 Sonar 中的一个错误。

我最初的想法是,当我运行命令例如“SET JAVA_HOME=C:\Program Files\Java\jre7 & C:\sonar_runner\sonar-runner-2.3\bin\sonar-runner.bat”时,它在我的帐户; 并通过 Jenkins 运行相同的命令,它在本地系统帐户下,因为它是由 Jenkins Windows 服务执行的。但是从 Sonar-runner 的输出中检查环境设置,似乎两者都非常接近。

关于缺少覆盖数据报告的原因的任何线索?太谢谢了 :-)

0 投票
1 回答
723 浏览

jenkins - 加里奥不与声纳跑步者一起工作

我正在尝试让 sonar-runner 在我的 .net 应用程序上运行 Gallio 和 OpenCover。

我已经设置了以下内容:

声纳库 v4.3.2

加里奥 v3.4.14

NUnit v2.6.3

OpenCover v4.5

Sonar-runner v2.4

这是我的 sonar-project.properties 文件中的内容(有关 Gallio 的内容)

我已经尝试了这个配置文件的各种变体,但奇怪的是,当我运行 sonar-runner 时,即使使用参数 -X 或 -e,输出中也绝对没有提到 Gallio 或 OpenCover。这就像声纳跑步者完全跳过了 Gallio 部分!

这里有没有人知道可能发生了什么?

0 投票
0 回答
229 浏览

asp.net-mvc - 如何在使用 OpenCover 时通过 IIS Express 访问 ASP.NET MVC 应用程序?

我正在使用 OpenCover 来介绍一个非常简单的 ASP.NET MVC 应用程序。它基本上只是一个 shell 应用程序:少数控制器方法,仅此而已。

我正在尝试使用 OpenCover 来启动 IIS 8.0 Express 的实例,通过它我将运行 MVC 应用程序。但是,当我尝试浏览该站点时,我收到“访问被拒绝”401.2 错误。我尝试了很多方法来解决这个问题,主要是围绕启用 Windows 身份验证的不同方法。我的大部分尝试都是基于此类问题的建议。尽管我努力了,我仍然收到这个 401.2 错误。另外,我应该指出,当通过 VS2013 运行这个应用程序时,我可以正常访问该站点。

最后一个细节是,为了使用 OpenCover,我不能使用完整版的 IIS,因为 OpenCover 和 IIS 不能很好地协同工作,所以 IIS Express 是必须的。如果我可以为您提供任何类型的配置详细信息以便您更好地帮助我,请告诉我。谢谢!

0 投票
1 回答
105 浏览

.net - 如果 OpenCover 在目标应用程序之前死亡,它可以收集覆盖率统计信息吗?

我正在尝试使用 OpenCover 来获取使用 Topshelf 的服务的覆盖率指标。该应用程序从控制台运行良好。

当应用程序运行时,它会打印以下内容:

The service is now running, press Control+C to exit.

然后一旦按下 Control+C 就会打印

Control+C detected, attempting to stop service.

在没有 OpenCover 的情况下完成时,应用程序会捕获 Ctrl+C 并正常停止,完成后返回命令提示符。

我正在使用以下命令通过 OpenCover 运行应用程序:

OpenCover.Console.exe -target:service.exe -log:All -register:administrator

当通过 OpenCover 完成时,我认为 OpenCover 会立即捕获 Ctrl+C,然后将其传递给我的服务应用程序。结果是 OpenCover 立即终止,但覆盖的目标应用程序仍在运行,并且需要几秒钟才能停止。我可以看到服务进程仍在 Process Explorer 中运行,并且在它死亡时将其清理消息打印到标准输出。

如果 OpenCover 尝试从中获取指标的应用程序在 OpenCover 停止后关闭,OpenCover 是否仍能获取覆盖信息?

0 投票
2 回答
2128 浏览

c# - 用foreach覆盖分支?

我有一个简单的方法可以从集合中计算总数。

目标是使用命令行中运行的 opencoverage 工具获得 100% 的分支覆盖率。我还有一个调用 MethodToTest 方法的单元测试:

使用工具 opencover 后,MethodToTest 方法在分支覆盖率上获得了 80%。我的问题是,foreach 循环是否会影响分支覆盖率,如果是,我怎样才能用这个简单的代码获得 100% 的覆盖率?