【问题标题】:dotnet-coverage No code coverage data available. Profiler was not initializeddotnet-coverage 没有可用的代码覆盖率数据。探查器未初始化
【发布时间】:2022-11-16 02:19:03
【问题描述】:

我正在尝试为我的 .net core 6 项目收集代码覆盖率,我已经编写了一些测试,并计划将结果上传到 sonarqube。

我阅读了 this 文档并决定使用 dotnet-coverage 工具,由于某种原因我无法获得代码覆盖率,运行命令

dotnet tool run dotnet-coverage collect 'dotnet test' -f xml -o 'tests/TestResults/coverage.xml'

给我以下消息 No code coverage data available. Profiler was not initialized. 并创建一个空的 coverage.xml 文件,我使用的是带有 m1 处理器的 macos,不确定这是否有任何区别。

我知道生成代码覆盖率的其他方法,但我很好奇该消息的含义。

【问题讨论】:

  • 您是否在安装 sonarqube 时或作为独立 cmd 运行时收到此错误?
  • 我正在使用 docker compose 运行 sonarqube 并使用 dotnet sonarqube 扫描仪工具

标签: .net-core code-coverage


【解决方案1】:

它非常适合我。只是一些变化。

我跑了命令:

dotnet-coverage collect dotnet test -f xml -o coverage.xml

并且它也被上传到sonarqube

【讨论】:

    【解决方案2】:

    我刚刚在 GitHub Actions 管道上遇到了同样的问题。为了解决这个问题,我必须在运行分析之前添加以下软件包的安装,这为我修复了它:

    - name: Install dependencies
        run: apt-get update && apt-get install -y libxrender1 libfontconfig libxext6 libc6 libxml2
    

    请注意,我们在 Debian 上运行我们的管道,因此如果您在不同的操作系统风格上运行,您的软件包名称可能会有所不同

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-05
      • 2016-04-02
      • 1970-01-01
      • 1970-01-01
      • 2017-12-17
      • 2016-08-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多