VS Code のgulp環境でmocha, power-assertを使ったテストを書く

VS Code でのgulp環境

node.jsのインストールはnodist を使うとバージョン管理できるので便利です。 VS Code でgulpのtask実行はいかが参考になります。

mocha, power-assert のインストール

コマンドラインで以下のコマンドを実行します。 Windows環境なのでGit bash で実行しました。

準備

study_mocha というディレクトリを作成してここにテストコードを書く環境をつくります。 test ディレクトリにテストコードを書きます。

mkdir study_mocha
cd study_mocha
npm init
mkdir test

gulpfile.js を記述する

プロジェクト直下にgulpfile.js を記述します。

task を実行/終了する

VS Code でtask を実行/終了するには以下のキーボードショートカットを利用します。

  • task を実行する Ctrl+P → tasks

  • task を終了する Ctrl+Shift+P → "Terminate Running Task."

補足: キーボードショートカットを追加するには

File > Preferences > Keyboard Shortcuts. (Code > Preferences > Keyboard Shortcuts on Mac)
からkeybinding.json に以下の用に記述します。

{ "key": "ctrl+shift+t", "command": "workbench.action.tasks.terminate" }

Visual Studio Code Key Bindings

テストを実行してみる

テストコードを./test/test.js に記述します。

var assert = require("power-assert"); // assertモジュールのinclude

var author = "hoo";
it ("is power-assert", function() {
    assert(author === 'hoo');
    //assert(author === 'hoge');
});

ディレクトリ構成はこうなります。

f:id:snowlong:20160728162024p:plain

  • task を実行する Ctrl+P → task → watch

  • ./test/test.js をセーブするたびにテストが実行されます。

テストケースが成功の場合以下のように表示されます。

f:id:snowlong:20160728122106p:plain

失敗の場合はgulp 自体がストップしてしまうので再度タスクを実行しないといけないです。
これを回避するためにはgulp-plumberを導入するとよいみたいです。エラー時にgulp のタスクを終了させないためのモジュールです。

参考

mocha + power-assert環境の構築 - Qiita

vscode - Stop a gulp watch task? - Stack Overflow

ブックマークレット作成が捗りすぎるVisual Studio Codeの使い方 | 株式会社ビヨンド

nodistでNode.jsをバージョン管理 - Qiita