このページでは、Karmaの設定ファイルであるkarma.conf.jsの変更を検知して、テストを再実行する方法を紹介します。
はじめに
karma.conf.jsには、テスト対象やテストコードのファイルパスや記述します。autoWatchをtrueにすればファイルの変更を検知できますが、karma.conf.js自体の変更を検知できません。テスト実行中にファイルを増やすこともあるため、karma.conf.jsもwatchしたいと思います。
karmaのテスト環境構築方法はこちらで紹介しています。
nodemonのインストール
nodemonを使うと、ファイルの変更を検知してタスクを再実行できます。
$ npm install nodemon --save-dev
ファイルの監視とテストの実行
監視するファイルと実行するタスクを指定して、nodemonを実行します。karma.conf.jsを変更すると、テストが止まって再実行されます。
$ node_modules/.bin/nodemon --watch karma.conf.js --exec node_modules/.bin/karma test
コマンドの整理
毎回長いコマンドを書くのも大変なので、npm testでファイルの監視を含めたテストを実行できるようにします。
[package.json] { ... "scripts": { "test": "nodemon --watch karma.conf.js --exec karma start" }, ... }
下記コマンドでテストが実行できます。
$ npm test