Nestjs はJestが組み込まれており、UnitTestが実行できるようになっています。
これをPull Requestのタイミングで自動実行し、デベロッパーの修正に問題が発生していないかのフィードバックを得られるようにします。
目次
ディレクトリ作成
.github/workflows
のディレクトリを作成します。
これは、GitHub Actions のワークフローに側します。
ワークフローについて – GitHub Docs
トリガー、構文、高度な機能など、GitHub Actions のワークフローの概要について説明します。
ymlでUnitTestを実行する
ワークフローはymlで定義します。
定義することはシンプルです。
- リポジトリのチェックアウト
- node のセットアップ
- npm のインストール
- npm のビルド
- テスト実行
name: UnitTest for PullRequest
on:
pull_request:
branches:
- '*'
jobs:
tests:
name: run unit test
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: repogitory checkout
uses: actions/checkout@v3
- name: setup node
uses: actions/setup-node@v3
with:
node-version: '20.x'
cache: npm
- name: npm install
run: npm install
- name: npm build
run: npm run build --if-present
- name: run test
run: npm run test
これをコミットして、Pull Requestします。
そのタイミングでUnitTestが実行されることが確認できます。
Summay
大きくなると、UnitTestを忘れることが多々ありました。
Pull Request時に自動実行してくれれば、UnitTestを行い品質の担保漏れを防げるので、組み込んでいたいです。