はじめに
コミットする前にテストを実行させるための設定をします。huskyを使うことで簡単に設定ができます。huskyは、ver4から6に上がった際に仕様が大きく変わっているため、改めてインストール手順をまとました。
開発環境
- husky : 7.0.2
- node : v14.17.6
インストール
- jestのコマンドの設定とjestはインストール済みです。jestのインストール方法
まずはnpmを使ってhuskyをインストールします。
$ npm install --save-dev husky
package.jsonのscriptsにprepareコマンドを追加します。
package.json
"scripts": {
"test": "jest",
"build": "babel src -d dist",
"start": "babel -w src -d dist",
"prepare": "husky install"
}
prepareコマンドを実行します。実行すると、.husky
フォルダが作成されます。
$ npm run prepare
コミット直前にnpm test
を実行したいので、Git hooksを追加します。下記のコマンドを実行すると、.huskyフォルダにprecomit
のファイルが作成されます。コマンドを修正したい場合は、precomit
ファイルに記載されているコマンドを修正します。
$ npx husky add .husky/pre-commit "npm test"
husky - created .husky/pre-commit
実行結果
huskyの設定ができたので、実行してみます。
$ git add .
$ git commit -m "husky install"
....
Test Suites: 1 skipped, 4 passed, 4 of 5 total
Tests: 1 skipped, 107 passed, 108 total
Snapshots: 0 total
Time: 21.261 s
無事コミット直前にtestが実行されていることが確認できました。