gruntを使ってnodeのnpm testを自動化する
誰向け
nodeを使っている人向けです。
何がしたいのか
nodeプロジェクト内のjsファイルが更新される度にnpm test
を自動で実行したいです。
方法(手順)
gruntを使います。
以降の作業は全てプロジェクトのルートで進めます。
--save-dev
は開発時に必要なモジュールである、という意味です。package.json
のdevDependencies
の部分に追加されるはずです。
まずはgrunt-cli
をインストールします。gruntのCUIインタフェースです。
$ npm install grunt-cli --save-dev
次にgrunt本体をインストールします。
$ npm install grunt --save-dev
- 作者: David Mark Clements,和田祐一郎
- 出版社/メーカー: オライリージャパン
- 発売日: 2013/02/23
- メディア: 大型本
- 購入: 2人 クリック: 4回
- この商品を含むブログ (3件) を見る
gruntの核となるパッケージは導入したのでここからは必要なプラグインをインストールしていきます。
今回はファイル変更によるnpm test
の実行をおこないたいのでgrunt-contrib-watch
とgrunt-shell
をインストールします。
$ npm install grunt-contrib-watch --save-dev $ npm install grunt-shell --save-dev
いよいよ具体的な設定を書いていきます。設定ファイルはjavascript
とcoffeescript
のどちらかが使えるようですが、今回はjavascript
を使います。
以下のような中身になるようにファイルを作成してください。
$ cat Gruntfile.js module.exports = function(grunt) { //プラグインの読み込み grunt.loadNpmTasks('grunt-contrib-watch'); grunt.loadNpmTasks('grunt-shell'); //設定 grunt.initConfig({ shell: { test: { options: { stdout:true }, command: function() { return "npm test"; } } }, watch: { files: ['*.js'], //変更監視したいファイルのパスを書いてください tasks: ['shell'] } }); }
最後にgruntコマンドを実行します。
今回、grunt-cli
をグローバルインストールしなかったので以下のコマンドで監視を開始できます。
$ node_modules/grunt-cli/bin/grunt watch Running "watch" task Waiting...
ここまで設定作業は終了です。
あとは監視対象になっているファイルに変更がある度にnpm test
が実行されるはずです。