【问题标题】:Coverage status check failed?覆盖状态检查失败?
【发布时间】:2019-07-26 07:53:19
【问题描述】:

我提交了对拉取请求的更改并显示了

“代码覆盖状态失败。”。

我搜索了很多,但找不到解决此问题的原因或解决方案。

Azure pipeline test service 
Diff coverage check failed.0/70 (0.00 %) changed lines are covered up to update 2. Diff coverage target is 70.00 %. 

验证构建成功,但状态显示代码覆盖失败。

【问题讨论】:

  • 在堆栈上可能存在相同的问题here

标签: azure-devops azure-pipelines


【解决方案1】:

在你的仓库的根目录下创建一个azurepipelines-coverage.yml 配置文件,使用以下任意一项:

coverage:
  status: off     #default on

关闭此功能不会发布任何覆盖检查,覆盖注释也不会出现在更改的文件视图中。


coverage:
  status:
    diff:
      target: 30%     default 70%

必须满足差异覆盖的目标阈值才能发布成功的覆盖状态。


coverage:
  status:
    comments: on    #default off

指示是否应在拉取请求中发布包含每个代码文件的覆盖范围详细信息的评论


Microsoft Docs; Configuring coverage settings

【讨论】:

    【解决方案2】:

    可以在 repo 根目录中签入的 azurepipelines-coverage.yml 设置文件中定义所需的覆盖率阈值:

    coverage:
      status:
        diff:
          target: 40%
    

    【讨论】:

    • Azure Pipelines 文档中是否包含此文件?
    • @prasanthi 这是新功能docs.microsoft.com/en-us/azure/devops/release-notes/2019/…。但似乎没有办法禁用它。
    • @prasanthi 你的意思是即使有构建(分支策略)有代码覆盖率结果,拉取请求中也没有代码覆盖率分析结果?
    • 这个新服务的烦人之处在于它在结果中包含了测试项目本身(也就是说它们没有被覆盖),即使在项目中添加了[assembly: ExcludeFromCodeCoverage]。如果我们有办法排除或使用我们自己的 RunSettings/Coverage 设置,那就太好了。也许我们会这样做......但没有任何记录...... @starianchen-MSFT 关于此文件的架构位置的任何更新?
    • @pinkfloydx33 我认为它是基于上次合并的版本。
    【解决方案3】:

    正如其他人所提到的,您可以通过 azurepipelines-coverage.yml 文件配置覆盖状态检查。完整架构可用here

    【讨论】:

      猜你喜欢
      • 2022-06-13
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      • 2011-10-02
      • 2018-07-08
      • 2021-06-23
      • 2023-03-05
      • 1970-01-01
      相关资源
      最近更新 更多