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



我有一个带有多个xUnit测试项目的.Net 5解决方案,它是托管在Github上的公共存储库。我想生成代码覆盖率报告并将其显示在Codecov上。

首先我运行

dotnet add package coverlet.msbuild

每个测试项目。我知道我可以导航到.sln目录并通过生成新的报告

dotnet test /p:CollectCoverage=true

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

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?例如

- name: Upload coverage report
run: upload to Codecov with CODECOV_TOKEN if pushed on main or dev

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

首先,您已经采取了步骤,但只是为了完整性。将封面添加到测试项目:

dotnet add package coverlet.msbuild

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

- 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

相关内容

  • 没有找到相关文章

最新更新