问题标签 [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 投票
2 回答
3172 浏览

.net - 有没有办法将 OpenCover 生成的代码覆盖率指标检索回 Jenkins?

我正在开发一个Jenkins用作 CI 服务器的 .NET 项目。服务器正在按预期工作,但现在我正试图让它在代码覆盖率低的情况下发出警报。

我正在尝试的方法是Sonar用来执行NUnitand OpenCover,但是我需要将代码覆盖率指标从Sonar后面链接到Jenkinsand 这就是问题所在。

AFAIK从OpenCovercoverage-report.xml)生成的报告原样,无法识别,Jenkins所以我想要做的是让他们通过将(coverage-report.xml)转换为(emma )的xsl文件进行交谈-report.xml )Jenkins具有可以理解的插件。

虽然我不知道这是最好的方法。更好的方法非常受欢迎;)我面临着block coverage从 OpenCover 获取指标的问题(Emma需要这个指标)。

我已经设法将所需的所有其他指标class, %从转换为method, %,但我不确定是否可以从报告中获取。line, %OpenCoverEmmablock, %

谁能告诉我是否有可能,或者是否有更好的方法来实现我正在尝试做的事情(即,Jenkins当代码覆盖率低于一定百分比时发出构建警报)?

提前致谢!:)

0 投票
1 回答
9127 浏览

c# - 如何从 OpenCover 报告中排除类

在为 MSTest 套件使用 OpenCover 生成覆盖率报告(然后使用 ReportGenerator 生成 HTML 报告)时,我试图排除框架生成的类。特别是,由服务引用在项目的命名空间下生成的类。

我用来生成 XML 文件的命令如下所示:

我也尝试按文件排除:

但服务引用类仍显示在 XML 文件中。

有没有办法只排除 Visual Studio 生成的那些特定类?

0 投票
3 回答
4941 浏览

.net - OpenCover/NUnit 找不到 PDB 文件

我正在使用 OpenCover http://nuget.org/packages/opencover并编写了以下批处理文件来运行单元测试并生成代码覆盖率统计信息:

但是,当我运行批处理文件时,出现错误:

很确定我做了一些愚蠢的事情/遗漏了一些明显的事情,但不确定是什么!

PDB 文件位于文件夹中:“..\Web.UnitTests\bin\Debug\”

感谢任何帮助,

谢谢,

0 投票
1 回答
2262 浏览

.net - OpenCover 不向 NUnit 传递参数

我刚刚从 Nuget 获取了 NUnit、NUnit Runners 和 OpenCover。NUnit 部件在 GUI 和控制台模式下运行良好。但在 PowerShell 中,我似乎无法让 OpenCover 正常工作。按照各种使用示例,我最终得到了这个命令:

我从 NUnit 看到了开放的版权信息,但随后 NUnit 告诉我:

致命错误:未指定输入

当然,随后是描述标志和诸如此类的标准帮助输出。然后,自然地,OpenCover 也会显示一个错误,表明没有任何内容与过滤器匹配并且没有结果。

所以我尝试直接运行 NUnit:

它运行良好。测试通过,一切顺利。考虑到文档和示例可能已经过时,我尝试将其targetargs直接组合到调用中:

但是错误输出仍然相同。

我是否在正确使用 OpenCover 时遗漏了什么?如何让它与 NUnit 控制台运行器正确交互?

0 投票
1 回答
1141 浏览

c# - 使用 Gallio 和 opencover 的声纳,代码覆盖率:0%

我正在使用声纳检查我的 c# 项目。我想测量代码覆盖率,这就是我安装 Gallio 和 opencover 的原因。当我运行 soner-runner 一切正常时,我的单元测试已执行,......但声纳 Web UI 上的代码覆盖率为 0%。

你知道代码覆盖率为0%的原因吗?

我的解决方案、项目和课程: (S) SonarTestSolution (P) ClassLibrary1 (C) Class1.cs (P) ClassLibrary1NUnitTest (C) Class1NUnitTest.cs

Class1.cs的内容:

Class1NUnitTest.cs 的内容:

声纳-project.properties:

如果需要,我可以包含日志 og sonar-runner,以及生成的 coverage-report.xml 和 gallio-report.xml 文件

0 投票
0 回答
127 浏览

nunit - 来自 OpenCover 的 WaitHandles 异常

我正在使用 OpenCover 报告我的 NUnit 测试的代码覆盖率,当我运行一组需要很长时间的测试时,我得到以下异常:

这只发生在我在测试中用真正的 DAL 替换我的模拟 DAL 时。基本上我正在针对相同的接口运行相同的测试集,只是使用集成实现而不是模拟实现。模拟 DAL 测试运行良好,另一个使用 XML 文件的 DAL 实现运行良好(只是预期较慢)。三者中最慢的一个,实际的 SQL 实现(由于每次测试之间的拆卸/设置而缓慢),会导致此错误。

网上不乏关于自定义代码的线程和 WaitHandles 的信息,但这发生在第 3 方工具内部。我可以用 OpenCover 做些什么来解决这个问题吗?一些命令行参数明确指示线程允许这些长时间运行的测试?也许它需要传递给 NUnit 的参数?

0 投票
1 回答
3081 浏览

code-coverage - 向 OpenCover 添加多个排除过滤器

我知道如何添加 1 个排除过滤器,但是,如果我想同时排除多个项目怎么办?我是否重复“-”语句?还是逗号分隔?特别是,我试图从覆盖率计算中排除测试和安装程序:

抱歉,OpenCover 的新手 :)

提前致谢!

0 投票
3 回答
1071 浏览

jenkins - 将 Gallio 与 OpenCover 覆盖报告文件包含结果但 Sonar 报告为 0%

我的问题是,由于某种原因,Sonar 中没有显示代码覆盖率。单元测试的结果已正确执行并显示,但不是代码覆盖的结果。该项目由 Jenkins 构建。我已经按照某些线程中的建议注册了 opencover.profiler.dll 文件,但我仍然没有得到任何结果。执行构建时,我在 Jenkins 中都没有收到任何错误消息。

我将不胜感激有关该做什么的任何提示。

最好的问候丹

0 投票
1 回答
1196 浏览

c# - 开盖安装

我正在尝试在 win xp 系统中使用 Opencover(用于 C# 包测试覆盖率),并且在尝试手动将 Opencover.profiler.dll 注册到 regsvr32.exe 时遇到一个奇怪的错误。我收到一条错误消息,告诉“加载库(“dll 名称”)失败”,错误级别为 9009。(我在尝试注册 dll 后做了回显 %ERRORLEVEL%)

谷歌搜索表明这个错误代码与 xcopy 有关。但我不确定为什么在注册 dll 时会发生这种情况。

我知道有一个 register:user 开关可以做到这一点。但是我试了上面的方法就知道为什么注册失败了。

我收到上述错误的 Opencover 版本是 2.0.802。在同一系统中,我可以毫无问题地注册 4.0.804 dll。并且版本 2.0.802 dll 可以与我的其他 XP 系统一起使用。

我可以知道这可能是什么问题吗?我希望这是做 Windows 而不是 Opencover

0 投票
0 回答
1013 浏览

code-coverage - 仅覆盖 opencover 中的测试类

我在使用 opencover 从我的课程中获得覆盖时遇到问题。

我有一个带有主要类的 Viewer.dll 和一个带有查看器测试的 Viewer_Test.dll。

执行命令后,所有测试都按预期运行。

如果我查看生成的报告,我只会发现列出的测试类,而不是主要类。

这是 opencover 命令的控制台输出。

我怎样才能让 opencover 也覆盖 Viewer.dll?