问题标签 [coverlet]

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 投票
1 回答
73 浏览

c# - 如何将 xUnit 覆盖率报告上传到 Codecov?

我有一个带有多个 xUnit 测试项目的 .Net 5 解决方案,它是托管在 Github 上的公共存储库。我想生成代码覆盖率报告并将它们显示在 Codecov 上。

首先我跑

dotnet add package coverlet.msbuild

对于每个测试项目。我知道我可以导航到 .sln 目录并通过

dotnet test /p:CollectCoverage=true

我授权了 Codecov,所以它知道这个项目。我认为只有mainanddev分支是相关的,所以我从这个工作流程开始

现在需要做什么才能将所有测试项目的报告上传到 Codecov?例如

0 投票
0 回答
50 浏览

.net-core - 使用 Coverlet 和 sonarqube 在 Jenkins 构建管道上的集成测试失败

我在 Jenkins groovy 脚本上使用以下代码覆盖率脚本:-

sh script:"dotnet test ${UNIT_TEST_PROJECT} /p:CollectCoverage=true" sh script:"dotnet test ${INTEGRATE_TEST_PROJECT} /p:CollectCoverage=true /p:CoverletOutputFormat=opencover /p:MergeWith=${UNIT_TEST_PROJECT}/coverage .json"

我正在将 Coverlet 与 Sonarqube 一起使用,我正在为 .net core3.1 应用程序运行,对于集成测试我正在使用测试 TestServer 创建 builderhost 我的代码覆盖率报告是为 Jenkins 构建上的单元测试项目创建的,但是当涉及到集成时测试,我得到以下错误:-

共有 1 个测试文件与指定的模式匹配。X MyControllerIntegationTests_returns_camel_case_response [31s 855ms] 错误消息:字符串长度均为 7765。字符串在索引 63 处不同。预期:“...rnal 服务器错误”,“错误”:[“在 3000 之后发生超时...”但是: "...rnal 服务器错误","errors":["在 3000 之后发生超时..." -------------------------- ------------------^

0 投票
0 回答
35 浏览

coverlet - Coverlet - dotnet 测试输出到控制台

我一直在玩被子。我可以将完整的详细信息保存到一个文件(例如coverage.json)中,并且可以在控制台中看到一个汇总表。

我无法弄清楚如何在控制台中以表格格式查看完整的覆盖细节。

命令:dotnet test /p:CollectCoverage=true显示汇总表,是否可以添加标志并查看更详细的表,包括文件夹、文件和类?

我查看了文档,包括https://github.com/coverlet-coverage/coverlet/blob/b02505932110c7231f946e06585460c6227f2e5d/Documentation/MSBuildIntegration.md,但找不到任何东西。

谢谢。

0 投票
1 回答
218 浏览

azure - 导致 Microsoft.VisualStudio.Coverage.VanguardException 的覆盖物覆盖率报告

我正在尝试将 Cobertura 报告生成集成到我的 azure 管道中。为此,我在 .Net 核心测试项目中添加了 coverlet.collector 3.0.3。下面是我用于测试运行的 yaml 命令

我使用 Reportgenerator 任务来合并和发布覆盖率报告。这一切都在我的代码的一个分支中运行良好(一个旧分支,我不久前开始在该分支上设置管道)。但是当我试图指向管道中的最新分支时,我收到如下错误

我检查了两个分支 Microsoft.Net.Test.SDK、coverlet.collector 中的几乎所有内容,它们的版本相同。我不确定 2 个分支之间有什么区别,以及我应该在 2 个代码分支之间寻找什么区别,这可能会导致这样的问题。

下面添加了成功和失败的完整日志。

成功(使用旧分支时)

失败(指向新分支时)

我也遇到了这个问题线程:https ://github.com/microsoft/azure-pipelines-agent/issues/2839用户怀疑这是代理升级问题,但对我来说似乎并非如此,因为我能够为一个代码分支成功运行它。

任何建议或指导表示赞赏。

0 投票
0 回答
43 浏览

.net - 如何自定义“运行 Coverlet Report”Visual Studio 扩展的颜色代码设置?

我使用 Visual Studio Enterprise 2019。

我已按照此Coverlet 代码覆盖率设置博客中提到的步骤使用 VS 2019 设置代码覆盖率。

一切正常。但想要下面的自定义。

  1. 安装“运行 Coverlet Report”Visual Studio 扩展后,我想保留我在下图中显示的颜色代码选项中所做的更改。问题是,一旦我重新打开 Visual Studio,所有颜色设置都会重置为默认值。

颜色选项设置

  1. 自定义代码覆盖率报告位置。目前默认保存到 AppData 文件夹。

  2. 重新打开 Visual Studio 后保留代码覆盖率突出显示(与第 1 点不同)。重新打开 VS 后,代码编辑器失去颜色突出显示。我每次都需要运行 Coverage 工具来解决这个问题。

如果有人找到完成上述 3 的方法,请告诉我。

0 投票
0 回答
18 浏览

.net-5 - .net5 中代码覆盖率的阈值验证

我们在 .net5 中有一个 api,我们使用 coverlet.msbuild 来验证我们的代码覆盖率,但我们的解决方案有 50 个 csprojs,我们遇到了一个错误,一些项目返回了 0% 的覆盖率,所以我们将包更改为 coverlet.collector,我们现在的问题是coverlet.collector 不支持阈值验证。

最后,我们有一个 cobertura 格式的 xml 文件,我们只想运行一个命令来查看报告的代码覆盖率是否正常,让 PR 继续其进程。

0 投票
1 回答
71 浏览

c# - 端到端测试中遗留应用程序的代码覆盖率

我正在构建一个基于 specflow 和 XUnit 的测试套件,其中包含运行一些遗留 .net 4.5 应用程序的各种端到端测试

遗留应用程序几乎没有任何单元测试。我希望使用端到端测试查看在遗留应用程序中运行的代码的覆盖率。我知道最好进行适当的单元测试,但是由于目前编写代码的方式是不可行的,因此架构使它变得非常困难。有没有办法通过使用 DotCover 和/或 Coverlet 来做到这一点?

0 投票
0 回答
28 浏览

c# - 仅收集特定类/方法的代码覆盖率

是否可以使用 C# 指定代码覆盖范围应包含哪些方法/类。在 PHP 世界中,我会使用 PhpUnit 和 @covers 注释:https ://phpunit.de/manual/6.5/en/appendixes.annotations.html#appendixes.annotations.covers

我正在使用 mstest 和 Coverlet 覆盖,但如果我必须使用其他组合也可以。

0 投票
0 回答
29 浏览

blazor - 为 blazor 内联代码提供代码覆盖率

我在 blazor 组件中有这样的代码......

现在 Coverlet 说这条线没有经过测试。

在包含控件中,我正在测试是否调用了委托,并且我MyComponent.SomeMethodMyComponent.razor.cs文件中覆盖了测试,但我既不能阻止 Coverlet 说此代码未被覆盖,也不能找到将这一行排除在代码覆盖范围之外的方法。

任何关于我所缺少的建议将不胜感激。

0 投票
1 回答
223 浏览

c# - 在没有 dotnet 命令的情况下运行 MsBuild.Coverlet

我有一个旧项目(VS2105)我无法使用dotnet命令,所以我正在尝试使用coverlet.msbuild任务。

MSBuild.exe my-solution.sln /t:My_Project_Test:InstrumentModules /t:My_Project_Test:GenerateCoverageResult /p:CollectCoverage=true /p:CoverletOutputFormat=cobertura /p:Include="[*]*"

但它返回零数据

我目前正在使用

网络框架 4.6.1 xunit.runner.msbuild 2.4.1 coverlet.msbuild 2.9.0 ReportGenerator 4.8.13

这是 My.Project.Test.csprj 的内容