GithubアクションとCoDecovでコードカバレッジレポートを取得する
TLDRShow me the money
それで、あなたはプロジェクトにセットアップされたテストを得る若干の時間を費やしました.どうやって世界を見るの?
人気サービスはCodecov , そして、おそらくGATHUBリポジトリからバッジを認識するでしょう.
CoDecovは、すでにテストされているレポートをアップロードする必要があることを意味静的解析ツールです.つのオプションをコミットすることです すべてのコミットの前にテストを実行しなければなりません.チャンスは、あなたが忘れてしまうでしょうし、あなたのカバレッジは日付のうちになります. あなたは離れてメインコンピュータから(すなわち、あなたの携帯電話からテストを更新することはできません)編集することはできません. それは十分に自動化されません、そして、誰でもより多くのオートメーションがよりよいということを知っています. おそらく悪いことの負荷. Githubアクションを救出する!
ファイルを取得する 依存関係をインストールする テストを実行する テストをCoDecovにアップロードします これは簡単です.これを加える
テストは奇妙なフォルダで実行され、これはあなたのリポジトリ構造と提携しないので、CoDecovは混乱してしまう.
これを修正するには、
ハグ!Githubアクションは自動的にあなたがプッシュし、CoDecovに送信するたびにテストを実行する必要があります!
CodeDevVのバッジの設定に頭を入れて、その甘いSVGの良さを確認してください.
以前から100 %バッジを覚えていますか?
金
それで、あなたはプロジェクトにセットアップされたテストを得る若干の時間を費やしました.どうやって世界を見るの?
人気サービスはCodecov , そして、おそらくGATHUBリポジトリからバッジを認識するでしょう.
しかし
CoDecovは、すでにテストされているレポートをアップロードする必要があることを意味静的解析ツールです.つのオプションをコミットすることです
coverage
しかし、これは悪い考えです:Githubアクションを救出する!
Github Actions かなり新しいと思いますか機能を追加することができますCI プロジェクトに.
いくつかあるdefault templates , しかし、残念ながら私はテストを実行し、CoDecovにレポートを送信するために見つけることができなかった.
アクションを設定する
Githubアクションは.github/workflows
, とYAML
ジョブの実行方法を指定するファイル.Check out the docs to find out more .
我々は、ファイルを追加することによって、単純なタスクを設定しますcodecov-test-suites.yml
を追加します.
# .github/workflows/codecov-test-suites.yml
name: Run Test Suites
on: [push]
これは、すべてのプッシュをトリガする新しいワークフローを設定します.
今、我々はそれを行う必要があります!このファイルにジョブを追加する必要があります.
# .github/workflows/codecov-test-suites.yml
name: Run Test Suites
on: [push]
codecov-test-suites.yml
ファイルjobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2 # Check out your repository
- run: yarn # Install dependencies
- run: yarn test --coverage # Run test
- run: bash <(curl -s https://codecov.io/bash) # Upload to Codecov
テストは実行されますが、明らかに0 %のカバレッジがあります.何?テストは奇妙なフォルダで実行され、これはあなたのリポジトリ構造と提携しないので、CoDecovは混乱してしまう.
これを修正するには、
codecov.yml
プロジェクトのルートにファイルします.ここでは、ファイルパスを修正する方法を指定します.# codecov.yml
fixes:
- "/home/runner/work/<project name>/<project name>/::" # Correct paths
エディット<project name>
あなたの倉庫名にgithubからこれをコミットしてください.ハグ!Githubアクションは自動的にあなたがプッシュし、CoDecovに送信するたびにテストを実行する必要があります!
CodeDevVのバッジの設定に頭を入れて、その甘いSVGの良さを確認してください.
以前から100 %バッジを覚えていますか?
金
// package.json
{
// Make sure jest creates lcov reports
"jest": {
"collectCoverage": true,
"coverageReporters": ["html", "lcov"]
}
}
# .github/workflows/codecov-test-suites.yml
name: Run Test Suites
on: [push]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2 # Check out your repository
- run: yarn # Install dependencies
- run: yarn test --coverage # Run test
- run: bash <(curl -s https://codecov.io/bash) # Upload to Codecov
# codecov.yml
fixes:
- "/home/runner/work/<project name>/<project name>/::" # Correct paths
Reference
この問題について(GithubアクションとCoDecovでコードカバレッジレポートを取得する), 我々は、より多くの情報をここで見つけました
https://dev.to/marcellothearcane/get-code-coverage-reports-with-github-actions-and-codecov-1n74
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
// package.json
{
// Make sure jest creates lcov reports
"jest": {
"collectCoverage": true,
"coverageReporters": ["html", "lcov"]
}
}
# .github/workflows/codecov-test-suites.yml
name: Run Test Suites
on: [push]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2 # Check out your repository
- run: yarn # Install dependencies
- run: yarn test --coverage # Run test
- run: bash <(curl -s https://codecov.io/bash) # Upload to Codecov
# codecov.yml
fixes:
- "/home/runner/work/<project name>/<project name>/::" # Correct paths
Reference
この問題について(GithubアクションとCoDecovでコードカバレッジレポートを取得する), 我々は、より多くの情報をここで見つけました https://dev.to/marcellothearcane/get-code-coverage-reports-with-github-actions-and-codecov-1n74テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol