🦁

GitHub Actionsに自動テストのワークフローを導入する

2022/09/20に公開

はじめに

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