最終更新: a few seconds ago Remove Netlify-related code from main (grafted, HEAD)
テスト
単体テストライブラリとしては mocha を chai と組み合わせて使う。
Mocha Testing Framework: https://mochajs.org/
Chai Assertion Library: http://chaijs.com/
テストは /test 配下に (テスト対象).test.js の名前で配置する。
テストの起動
/test 以下の全テストを実行するには、コマンドラインから以下のいずれかを実行する。
npx mochanpm test
npx は node_modules 配下にローカルインストールされた依存コマンドを優先して実行してくれるツールであり、NPM (>= 5.2) と同時にインストールされる。npm install -g mocha でグローバルに mocha をインストールして、単に mocha とするのでもよい(他のプロジェクトとの mocha のバージョン競合がありえるため、Docker なりオンライン IDE なりで環境ごと隔離できない場合は非推奨)。
mocha のコマンドラインオプションを使う場合、npx mocha ならそのままコマンドラインオプションを付ければ良いが、npm test の場合はコマンドに渡すオプションを -- で区切ること。
テストの起動(特定のファイルのみ)
npx mocha test/some.test.jsnpm test -- test/some.test.js
テストの起動(変更を監視して繰り返し実行する場合)
npm test -- -wnpx mocha -w
-w は --watch でも同じ。
ミドルウェアには、そのミドルウェア単体での機能が一通り実証できるようなユニットテストを含めること。
mocha はテストコードを babel-register を通して読み込むようになっている(本番スクリプトと同じ条件)ので、import などの機能は標準的に利用できる。test/mocha.opts が babel-register を読み込ませている。