当前位置: 首页 > 知识库问答 >
问题:

无法在Azure运营模式的“代码覆盖”选项卡中呈现代码覆盖超文本标记语言

毕嘉
2023-03-14

我在 Azure 开发运营中有一个经典的生成管道,用于为 .Net Core 3.1 应用生成和运行测试。我使用的是运行 Windows 服务器 2019 操作系统的自承载生成代理

我的任务:

    < li >恢复Nuget < li >在发布模式下生成解决方案 < li >安装最新的vstest.console.exe工具 < li >使用上述工具运行测试并生成。覆盖文件 < li >从Nuget安装CodeCoverage.exe < li >要转换的PowerShell脚本。覆盖到。xml < li >使用ReportGenerator任务生成HTML和Cobertura(HTML inline;HTMLChartCobertura) < li >使用步骤7中的Cobertura.xml将代码覆盖率结果发布到服务器,并上传HTML报告文件夹

构建运行摘要

由生成发布的文件

代码覆盖率选项卡

问题:代码覆盖率选项卡不显示 HTML 报告

共有3个答案

仇阳州
2023-03-14

我没有看到你的设置,所以我会分享我的设置。

许学真
2023-03-14

您的问题在于第4步。

4. Run tests using above tool and generate .coverage file

如果为<代码>。coverage文件被创建并单独保存,Azure DevOps将拾取它并将其用于您稍后创建的任何其他内容。所以基本上你的覆盖范围。xml或任何生成的HTML报告都将在“代码覆盖率”选项卡中忽略。

所以,不要使用VSTest任务和您在下面使用的任何东西,尝试向管道中添加.Net Core Test,并使用coverlet收集器将其配置为输出“XPlat代码覆盖率”。确保不要传入任何。通过--settings运行设置file。在执行任何操作之前,您需要添加NuGetcoverlet。所有测试项目的收集器

然后添加您的任务来发布覆盖率结果。您不需要报告生成器,它现在是内置的。

这就是全部。希望您能够在“代码覆盖率”选项卡下看到生成的HTML。

越福
2023-03-14

这是 Azure 开发运营中的一个已知问题。现在,我们只能下载报表,并使用可视化工作室打开它。

Azure 开发运营团队目前仅支持 .coverage 文件的下载链接。您看到的白色页面是一个 UI 故障。此方案只应呈现指向覆盖范围文件的下载链接。

此外,此问题已在此早期建议票证中提交 链接: 支持 vstest .coverage “代码覆盖率”生成结果选项卡

这个功能请求是On Roadmap,相信很快就会发布,你可以关注这个帖子了解它的最新反馈。

此外,我发现了一个类似的案例,并通过答案进行了测试,将代码覆盖工具设置为Cobertura,然后在Azure DevOps管道中获得代码覆盖报告。

 类似资料:
  • 代码覆盖是查找未被测试执行的代码区域的过程。不过要记住的是这并不能说明你测试代码的有效性。 在requirements.txt文件中添加依赖包: coverage==4.4.2 然后,我们在manage.py中新增一个命令: import coverage COV = coverage.coverage( branch=True, include='project/*',

  • 这是一个重要的可量化指标,如果代码覆盖率很高,你就可以放心的修改代码,在发版本的时候也能睡个安稳觉。否则就是拆东墙补西墙,陷入无尽的 bug 诅咒中。 那么在 OpenResty 里面如何看到代码覆盖率呢?其实很简单,使用 LuaCov 可以很方便的实现。 我们先了解下 LuaCov,这是一个针对 Lua 脚本的代码覆盖率工具,通过 luarocks 来安装: luarocks install l

  • 我有一个多模块项目,我似乎无法在Sonarqube上获得准确的单元测试代码覆盖率报告。我使用buildr和JaCoCo生成测试覆盖率。文件继承类似于下面。 项目--module1----reports----Jacoco------Jacoco.cov(jacoco执行文件,以前用作.exec)--module2--reports----Jacoco(生成的HTML、CSV和XML报表文件)---

  • 问题内容: 我正在使用Mocha测试我的NodeJS应用程序。我无法弄清楚如何使用其代码覆盖功能。我尝试使用Google搜索,但没有找到任何合适的教程。请帮忙。 问题答案: 您需要一个额外的库来覆盖代码,而伊斯坦布尔的强大和便捷将使您震惊。通过Mocha测试后,请尝试以下操作: 现在,只需将命令nyc放在现有测试命令的前面,例如:

  • 我有一个maven项目(link),我想在上面运行代码覆盖率。 我在主项目pom文件上运行了命令,但没有生成报告。相反,我得到的警告是 有人能建议我如何用这个pom文件生成代码覆盖率报告吗。我正在使用apache-maven-3.3。9和testNG。

  • 我的代码运行在具有单独JVM的单独虚拟机上。我想在此虚拟机上以tcpserver模式设置JaCoCo代理以收集覆盖率数据。然后,我将在我的maven项目中以tcpclient模式设置JaCoCo代理,以连接到上面提到的VM并获取覆盖率数据。 问题是代理不收集任何覆盖数据。在中创建了覆盖率数据文件,但该文件为空。 下面是代理选项:-Java agent:/usr/xx/plugins/org . j