🦁
GitHub Actionsに自動テストのワークフローを導入する
はじめに
GitHub Actionsに入門したあとに、自動テストのワークフローを組み込んでみる。
前提
Node.jsがローカルPCにインストールされていること
自動テストコード
今回は私の方で用意したJavaScriptでコーディングしたバックエンドアプリを活用する。
まずは、このブランチをforkして自分のブランチに持っていく。
その後、git cloneでmainブランチをローカルに持ってくる。
※defaultブランチmainとしていないため、指定する必要がある。
terminal
git clone -b main git@github.com:hiyasichuka/supertest-sandbox.git
cd supertest-sandbox
試しに動かす。
npm i
npm test
テストコードが実行されてPASSすることを確認。
GitHubActionsで特定のブランチにpushされたタイミングで自動テストが実行されるワークフローを構築していく。
GitHub Actionsでワークフローを作成する
早速Actionsのymlを作成していく。
まずディレクトリと空のファイルを作成する
mkdir -p .github/workflows
touch .github/workflows/test.yml
ymlファイルを作成する。
test.yml
name: Test CI
on:
push:
branches:
- main
- 'feat/**'
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Use Node.js 16.x
uses: actions/setup-node@v3
with:
node-version: '16.x'
cache: 'npm'
- run: npm ci
- run: npm test
早速動かす
新しくブランチを作成して、テストしてみる。
git checkout -b feat/ci
git add .
git commit -m"add yml"
git push --set-upstream origin feat/ci
ワークフローが動いていることを確認。
ワークフローが正常終了することを確認。
おわりに
テストコードをGitHub Actions上で自動実行するワークフローを構築した。
これによって、テストをパスしたものだけをマージするなどが可能になる。
品質の高いコードを量産する足がかりにしよう。
以上。
Discussion