はじめに
この記事では、「GitHub ActionsでPythonのpytestを自動実行&表示させる方法」について書いています。
GitHub Actionsでは様々なことが自動化でき、テストも自動化できますが、その結果も見やすい形で表示されてくれないかなと思ったのが記事を書いたきっかけでした。
自分に向けた備忘録でもありますが、「GitHub ActionsでPythonのpytestの結果をGitHub上で表示させたい」な人の一助になれば嬉しいです。
やり方
早速、pytestの実行と表示を行うコードです
name: Run and display pytest
on:
workflow_dispatch:
jobs:
pytest:
runs-on: ubuntu-latest
steps:
# リポジトリをチェックアウト
- name: Checkout code
uses: actions/checkout@v3
# Pythonの環境をセットアップ
- name: Setup Python
uses: actions/setup-python@v3
with:
python-version: 3.11
# pytestをインストール
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pytest
# JUnit形式でpytestの結果を出力
- name: Run pytest
run: |
python -m pytest --junit-xml results/pytest.xml
continue-on-error: true
# テスト結果をアップロードする
- name: Upload results
uses: actions/upload-artifact@v3
with:
name: test_results
path: results/*.xml
# テスト結果をダウンロードする
- name: Download results
uses: actions/download-artifact@v3
with:
name: test_results
path: artifacts
# テスト結果をGitHub上で表示する
- name: display results
uses: EnricoMi/publish-unit-test-result-action@v1
with:
files: artifacts/**/*.xml
上のコードは、手動トリガでpytestを実行、その結果をGitHub上で表示してくれます。
表示のされ方は以下の画像のような感じで、下の部分に「pytest summary」とあり、この部分にpytestの結果が表示されます。

Note
画像の中央付近(この間省略、の部分)は、今回の話とは関係ない余計な部分があったため、画像処理で切り取って見やすくしています。
おわりに
「GitHub ActionsでPythonのpytestを自動実行&表示させる方法」について解説しました。
GitHub Actionsを使いこなして、様々なことを自動化させて開発を効率化していきましょう。
ここまで読んで下さりありがとうございます。
さいごに、記事を書く上で参考にしたサイトのリンクを以下に掲載します。合わせて読んでいただくと良いかと思います。