GitHubActions

GitHub Actionsでテストカバレッジ自動計測

ⓘ本ページはプロモーションが含まれています

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


スポンサードリンク

GitHub Actionsによるテストカバレッジの自動計測とは?

GitHub Actionsは、コードの継続的インテグレーション(CI)を自動化するプラットフォームで、テストカバレッジの計測もその一環として実施可能です。テストカバレッジは、ソースコードがテストによってどの程度カバーされているかを示す指標であり、品質管理において不可欠です。最新ツールである reviewdog/action-code-coverage を導入することで、カバレッジレポートの自動生成やPull Request上の可視化が可能になります。


ワークフロー設定ファイルの作成手順

GitHub Actionsでテストカバレッジを自動計測するには、.github/workflowsディレクトリ内にワークフロー設定ファイル(例: coverage.yml)を作成します。このファイルでは、コードの取得、環境構築、テスト実行、レポート生成までのステップを定義します。

設定ファイルの基本構造

この設定により、プッシュまたはPull Request時に自動でテストが実行され、カバレッジレポートが生成されます。


プロジェクト別カバレッジ計測対応策

プロジェクトごとに利用するツールや手順が異なるため、適切な処理が必要です。以下に主なプロジェクトの計測方法を比較します。

各プロジェクトの計測方法比較

プロジェクト 利用ツール コマンド例 レポート出力形式
.NET8 dotcover dotnet test --collect:"Code Coverage" coverage.info
Gradle JaCoCo ./gradlew jacocoTestReport HTML / XML
iOS (MVVM) xcodebuild xcodebuild test -enableCodeCoverage YES xcresult

.NET8プロジェクトの計測手順

  1. テスト実行とカバレッジ取得を実施します。
    bash
    dotnet test --collect:"Code Coverage" --framework net8.0

  2. 生成された coverage.info を後続処理に使用します。

Gradleプロジェクトの計測設定

  1. build.gradle に JaCoCo タスクを追加します。
    groovy
    jacocoTestReport {
    reports {
    html.destination file("build/reports/jacoco/test/html")
    }
    }

  2. テスト実行時に自動でレポートが出力されます。

iOS (MVVM)プロジェクトの計測手順

  1. Xcodeでテストを実行し、コードカバレッジを有効化します。
    bash
    xcodebuild test -scheme MyProject -destination "platform=iOS Simulator,name=iPhone 13" -enableCodeCoverage YES

  2. 生成された xcresult ファイルを分析用に保存します。


lcovファイルの自動マージ処理

並列テストを実施するプロジェクトでは、複数の lcov ファイルが生成されるため、グロブパターンで自動マージが必要です。以下に具体的な手順と例を示します。

実装手順

  1. 生成された *.info ファイルの一覧を取得します。
    bash
    find . -name "*.info"

  2. 全ファイルを一括でマージします。
    bash
    find . -name "*.info" | xargs merge-lcov > coverage-merged.info

マージされた coverage-merged.info は、レポート生成やPull Requestへのコメント表示に使用されます。出力形式としてHTML・Markdown・XMLいずれも選択可能です。


Pull Requestでのレビュー可視化実装

reviewdog/action-code-coverage を使用すると、カバレッジの低かったコード部分に自動でコメントを添えてPull Request上に反映させることができます。この機能により、レビュアーは直感的にカバレッジ不足箇所を確認できます。

多形式レポート出力設定ガイド

カバレッジレポートは HTML・Markdown・XML のいずれかの形式で生成可能です。用途に応じて適切な形式を選ぶことが重要です。


まとめ

本記事では、GitHub Actionsを活用したテストカバレッジレポートの自動生成手順と実装方法について解説しました。具体的には、ワークフロー設定ファイルの作成、プロジェクト固有の計測対応、lcovファイルのマージ処理、Pull Requestでの可視化実装、および多形式レポート出力の方法を網羅しています。

テストカバレッジ自動計測の実現には、ワークフロー設定やツール選定、出力形式の最適化が不可欠です。記事で示した手順に従い、プロジェクトに応じた計測環境を構築してください。

スポンサードリンク

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


-GitHubActions