问题标签 [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.
c# - 如何将 xUnit 覆盖率报告上传到 Codecov?
我有一个带有多个 xUnit 测试项目的 .Net 5 解决方案,它是托管在 Github 上的公共存储库。我想生成代码覆盖率报告并将它们显示在 Codecov 上。
首先我跑
dotnet add package coverlet.msbuild
对于每个测试项目。我知道我可以导航到 .sln 目录并通过
dotnet test /p:CollectCoverage=true
我授权了 Codecov,所以它知道这个项目。我认为只有main
anddev
分支是相关的,所以我从这个工作流程开始
现在需要做什么才能将所有测试项目的报告上传到 Codecov?例如
.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 之后发生超时..." -------------------------- ------------------^
coverlet - Coverlet - dotnet 测试输出到控制台
我一直在玩被子。我可以将完整的详细信息保存到一个文件(例如coverage.json)中,并且可以在控制台中看到一个汇总表。
我无法弄清楚如何在控制台中以表格格式查看完整的覆盖细节。
命令:dotnet test /p:CollectCoverage=true
显示汇总表,是否可以添加标志并查看更详细的表,包括文件夹、文件和类?
我查看了文档,包括https://github.com/coverlet-coverage/coverlet/blob/b02505932110c7231f946e06585460c6227f2e5d/Documentation/MSBuildIntegration.md,但找不到任何东西。
谢谢。
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用户怀疑这是代理升级问题,但对我来说似乎并非如此,因为我能够为一个代码分支成功运行它。
任何建议或指导表示赞赏。
.net - 如何自定义“运行 Coverlet Report”Visual Studio 扩展的颜色代码设置?
我使用 Visual Studio Enterprise 2019。
我已按照此Coverlet 代码覆盖率设置博客中提到的步骤使用 VS 2019 设置代码覆盖率。
一切正常。但想要下面的自定义。
- 安装“运行 Coverlet Report”Visual Studio 扩展后,我想保留我在下图中显示的颜色代码选项中所做的更改。问题是,一旦我重新打开 Visual Studio,所有颜色设置都会重置为默认值。
自定义代码覆盖率报告位置。目前默认保存到 AppData 文件夹。
重新打开 Visual Studio 后保留代码覆盖率突出显示(与第 1 点不同)。重新打开 VS 后,代码编辑器失去颜色突出显示。我每次都需要运行 Coverage 工具来解决这个问题。
如果有人找到完成上述 3 的方法,请告诉我。
.net-5 - .net5 中代码覆盖率的阈值验证
我们在 .net5 中有一个 api,我们使用 coverlet.msbuild 来验证我们的代码覆盖率,但我们的解决方案有 50 个 csprojs,我们遇到了一个错误,一些项目返回了 0% 的覆盖率,所以我们将包更改为 coverlet.collector,我们现在的问题是coverlet.collector 不支持阈值验证。
最后,我们有一个 cobertura 格式的 xml 文件,我们只想运行一个命令来查看报告的代码覆盖率是否正常,让 PR 继续其进程。
c# - 端到端测试中遗留应用程序的代码覆盖率
我正在构建一个基于 specflow 和 XUnit 的测试套件,其中包含运行一些遗留 .net 4.5 应用程序的各种端到端测试
遗留应用程序几乎没有任何单元测试。我希望使用端到端测试查看在遗留应用程序中运行的代码的覆盖率。我知道最好进行适当的单元测试,但是由于目前编写代码的方式是不可行的,因此架构使它变得非常困难。有没有办法通过使用 DotCover 和/或 Coverlet 来做到这一点?
c# - 仅收集特定类/方法的代码覆盖率
是否可以使用 C# 指定代码覆盖范围应包含哪些方法/类。在 PHP 世界中,我会使用 PhpUnit 和 @covers 注释:https ://phpunit.de/manual/6.5/en/appendixes.annotations.html#appendixes.annotations.covers
我正在使用 mstest 和 Coverlet 覆盖,但如果我必须使用其他组合也可以。
blazor - 为 blazor 内联代码提供代码覆盖率
我在 blazor 组件中有这样的代码......
现在 Coverlet 说这条线没有经过测试。
在包含控件中,我正在测试是否调用了委托,并且我MyComponent.SomeMethod
在MyComponent.razor.cs
文件中覆盖了测试,但我既不能阻止 Coverlet 说此代码未被覆盖,也不能找到将这一行排除在代码覆盖范围之外的方法。
任何关于我所缺少的建议将不胜感激。
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 的内容