首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将xUnit覆盖报告上传到Codecov?

如何将xUnit覆盖报告上传到Codecov?
EN

Stack Overflow用户
提问于 2021-06-10 05:01:13
回答 1查看 46关注 0票数 1

我有一个包含多个xUnit测试项目的Github5解决方案,这是一个托管在Github上的公共存储库。我想生成代码覆盖率报告,并在Codecov上显示它们。

首先我跑

dotnet add package coverlet.msbuild

对于每个测试项目。我知道我可以导航到.sln目录并通过

dotnet test /p:CollectCoverage=true

我授权了Codecov,所以它知道这个项目。我认为只有maindev分支是相关的,所以我从这个工作流开始

代码语言:javascript
复制
name: Generate coverage report on push

on:
  push:
    branches:
      - 'main'
      - 'dev'

jobs:
  generate-coverage-report-on-push:
    runs-on: ubuntu-latest

    defaults:
      run:
        working-directory: ./DirectoryWithSlnFile

    steps:
      - uses: actions/checkout@v2

      - name: Setup .NET
        uses: actions/setup-dotnet@v1
        with:
          dotnet-version: 5.0.x

      - name: Restore dependencies
        run: dotnet restore

      - name: Build project
        run: dotnet build --no-restore

      - name: Generate coverage report
        run: dotnet test --no-build --verbosity normal /p:CollectCoverage=true

现在需要做什么才能将报告从所有测试项目上传到Codecov?例如。

代码语言:javascript
复制
      - name: Upload coverage report
        run: upload to Codecov with CODECOV_TOKEN if pushed on main or dev
EN

回答 1

Stack Overflow用户

发布于 2021-09-18 20:18:04

我只是在遇到同样的问题时偶然发现了这一点。这就是我让它工作的方式。

首先,您已经完成的步骤,但只是为了完整性。将coverlet添加到测试项目:

代码语言:javascript
复制
dotnet add package coverlet.msbuild

然后,在GitHub操作工作流文件中,添加以下步骤:

代码语言:javascript
复制
    - name: Test
      run: dotnet test --no-build --verbosity normal /p:CollectCoverage=true /p:CoverletOutputFormat=opencover
    
    - name: Codecov
      uses: codecov/codecov-action@v2
      with:
        file: coverage.opencover.xml
        directory: FUI.Tests
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67911653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档