标签: codecov

Codecov 无法识别 codecov.yml 配置中的标志

最近,我从 3 个不同的存储库迁移到一个单一存储库,并按照添加.codecov.yml选项进行设置flags。然而,Codecov 似乎忽略了它并不断报告没有提供任何标志。

coverage:
  status:
    project: no
    patch: yes
    changes: no

comment:
  require_changes: yes

flags:
  frontend:
    paths:
      - frontend/
  backend:
    paths:
      - backend/
  mobile:
    paths:
      - mobile/
Run Code Online (Sandbox Code Playgroud)

还有什么想法我还应该添加什么来启用它们吗?

monorepo codecov

5
推荐指数
1
解决办法
500
查看次数

如何忽略“dart-lang/coverage”中的一行

用例

codecov认为super需要测试,

在此输入图像描述

不确定是否为此关键字编写测试

  • 将是有意义的
  • 如何编写这样的测试

在我的疑虑消除之前,我想将该线路排除在覆盖范围之外

问题

我如何忽略其中的一行dart-lang/coverage

code-coverage dart test-coverage flutter codecov

5
推荐指数
1
解决办法
4152
查看次数

在 monorepo 上下文中优化使用 codecov,每个包都有单独的标志

我只是想知道为 monorepo 设置配置 codecov 的最佳方法是什么\xe2\x80\x99。例如,让\xe2\x80\x99s 说我的 monorepo 下有包 A 和 B。我\xe2\x80\x99m 当前使用 codecov 的方式是使用 github action codecov/codecov-action@v1,通过在我的 GitHub 工作流 YAML 文件中使用多个 use 语句,如下所示:-

\n
- uses: codecov/codecov-action@v1\n  with:\n    files: ./packages/A/coverage/lcov.info\n    flags: flag_a\n    name: A\n- uses: codecov/codecov-action@v1\n  with:\n    files: ./packages/B/coverage/lcov.info\n    flags: flag_b\n    name: B\n
Run Code Online (Sandbox Code Playgroud)\n

我知道可以使用逗号分隔值来上传多个文件,但我必须为每个包设置一个单独的标志,而这样做似乎不起作用。\n谢谢。

\n

monorepo codecov

5
推荐指数
1
解决办法
623
查看次数

在 GitHub Actions 矩阵中仅生成一次测试覆盖率报告

我有一个测试套件,想使用 GitHub Actions 以矩阵策略运行。我想为我的测试生成代码覆盖率报告,但仅限于单个矩阵项。

这是我正在处理的操作的副本:

name: test
on: [pull_request, workflow_dispatch]
jobs:
  run_tests:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node-version: [14.x, 16.x]
    steps:
      - uses: actions/checkout@v2
        name: Test Node.js ${{ matrix.node-version }}
      - uses: actions/setup-node@v2
        with:
          node-version: ${{ matrix.node-version }}
      - run: npm install --production=false
      - run: npm test -- --coverage ## I would prefer to only generate coverage once
      - name: Upload to Codecov     ## I would like to only run this once
        run: |
          curl -Os https://uploader.codecov.io/latest/linux/codecov …
Run Code Online (Sandbox Code Playgroud)

codecov github-actions

5
推荐指数
1
解决办法
586
查看次数

未找到覆盖文件,请尝试使用“-f”,或使用“-R”更改项目根目录

我的文件夹中有文件:coverage/lcov.info

我将在 CI Gitlab 中使用 codecov uploader version 0.2.4 上传文件(使用 flutter),但出现错误

There was an error running the uploader: No coverage files located, please try use `-f`, or change the project root with `-R`
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?请帮忙

在此输入图像描述

code-coverage gitlab gitlab-ci flutter codecov

5
推荐指数
1
解决办法
1398
查看次数

带有 Swift 包的 Codecov

介绍

我已经编写了一个Swift 包,并希望将Codecov集成为我的 CI 的一部分(使用Github Actions设置)。

这是我的.yml文件:

name: Swift  
  
on:
  push:
    branches: [ "main" ]
  pull_request:
    branches: [ "main" ]

jobs:
  build:

    runs-on: macos-latest

    steps:
    - uses: actions/checkout@v3
    - name: Build
      run: swift build -v
    - name: Run tests
      run: swift test -v --enable-code-coverage
    - name: Upload to Codecov
      uses: codecov/codecov-action@v3.1.0
Run Code Online (Sandbox Code Playgroud)

问题

问题是Codecov无法处理由xcodebuildswift命令生成的报告文件。是文档。

Github 操作日志


可能的解决方案

Codecov 建议使用其他第三方工具(例如Slather)将报告的文件转换为预期格式(.xml.json等),但Slather与Swift Packages …

code-coverage github swift-package-manager codecov github-actions

5
推荐指数
1
解决办法
445
查看次数

Codecov、Github 操作和 Angular 11“未找到覆盖率报告”

我正在尝试通过 Github 操作将 Angular (v11) 库的代码覆盖率发布到 Codecov.io

我已经从市场设置了官方 Codecov github 操作

name: tests

on:
  pull_request:
    branches: [ master ]

jobs:
  build:
    # Machine environment:
    # We specify the Node.js version manually below, and use versioned Chrome from Puppeteer.
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Use Node.js 14
        uses: actions/setup-node@v1
        with:
          node-version: 14
      - name: Install dependencies
        run: npm install
      - name: Build
        run: npm run build-lib
      - name: Test
        run: npm run test-lib-headless

      - name: Codecov
        uses: codecov/codecov-action@v1.1.1 …
Run Code Online (Sandbox Code Playgroud)

code-coverage codecov angular github-actions

4
推荐指数
1
解决办法
1359
查看次数

CodeCov 找不到报告

我试图让 codecov 运行和处理 Jacoco 为我的多构建 Java Gradle 项目生成的报告。但是,当我运行 codecov 脚本 ( bash <(curl -s https://codecov.io/bash)) 时,我得到以下输出:

x> No CI provider detected.
    Testing inside Docker? http://docs.codecov.io/docs/testing-with-docker
    Testing with Tox? https://docs.codecov.io/docs/python#section-testing-with-tox
    project root: .
    Yaml found at: .codecov.yml
==> Running gcov in . (disable via -X gcov)
==> Python coveragepy not found
==> Searching for coverage reports in:
    + .
--> No coverage report found.
    Please visit http://docs.codecov.io/docs/supported-languages
Run Code Online (Sandbox Code Playgroud)

我已经验证报告是由 jacoco 创建的build/reports/jacoco/codeCoverageReport,并且 xml 报告实际上存在。

我按照此处的指南(Github)设置了 jacoco …

java gradle jacoco codecov

3
推荐指数
1
解决办法
1269
查看次数

如何使用 Gradle Kotlin DSL 设置 codecov?

我已阅读codecov/example-gradle,但不确定如何将其转换为 Kotlin DSL。

我的.travis.yml

language: java
jdk:
- openjdk11
before_install:
- chmod +x gradlew
- chmod +x gradle/wrapper/gradle-wrapper.jar
script:
- ./gradlew test
- ./gradlew codeCoverageReport
after_success:
- bash <(curl -s https://codecov.io/bash)
Run Code Online (Sandbox Code Playgroud)

我的build.gradle.kts

import org.jetbrains.kotlin.gradle.plugin.KotlinPluginWrapper
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
    kotlin("jvm") version "1.2.71"
    jacoco
    maven
}

repositories {
    mavenCentral()
}

dependencies {
    testImplementation("org.junit.jupiter:junit-jupiter-engine:5.3.1")
}

tasks {
    "test"(Test::class) {
        useJUnitPlatform()
    }

    // Task with name 'codeCoverageReport' not found in root project ''.
    "codeCoverageReport"(JacocoReport::class) {
        executionData(fileTree(project.rootDir.absolutePath).include("**/build/jacoco/*.exec"))

        subprojects.onEach { …
Run Code Online (Sandbox Code Playgroud)

code-coverage gradle kotlin codecov gradle-kotlin-dsl

2
推荐指数
1
解决办法
1421
查看次数

将 pytest 覆盖率和 codecov.io 与 Python 结合使用

当我运行 pytest --cov 时,我得到的覆盖率值为 ~60%。代码推送到github后在codecov.io上生成的报告显示为100%。我无法理解两者有何不同,我认为正在运行相同的命令。

\n\n

Codecov.io 显示

\n\n
Files       \xe2\x80\xa2   \xe2\x80\xa2   \xe2\x80\xa2   Coverage\n __init__.py    2   2   0   0   100.00%\n c_wrapper.py   5   5   0   0   100.00%\n fibonacci.py   13  13  0   0   100.00%\n tests/test_fibonnaci.py    39  39  0   0   100.00%\nFolder Totals (4 files) 59  59  0   0   100.00%\nProject Totals (4 files)    59  59  0   0   100.00%\n
Run Code Online (Sandbox Code Playgroud)\n\n

但运行

\n\n
pytest --cov=fibonacci fibonacci/tests\n
Run Code Online (Sandbox Code Playgroud)\n\n

节目

\n\n
----------- coverage: platform linux, python 3.7.4-final-0 -----------\nName                                Stmts   Miss Branch BrPart  Cover\n---------------------------------------------------------------------\nfibonacci/__init__.py                   2      2      0      0     0%\nfibonacci/c_wrapper.py …
Run Code Online (Sandbox Code Playgroud)

python coverage.py codecov

2
推荐指数
1
解决办法
1872
查看次数