概要
Node.jsのMochaテストフレームワークのフォルダ構造に関するメモです。
多数のテストファイルを置くときのフォルダ構造について「こうするといい」ってのに、そういえば出会ってないな、と(探し方の問題の可能性)。
で、自分の場合は「こんな感じが良さげ」というメモです。
合わせて、npm test
で実行する前提で、package.json
への記述についてもメモ。
一般にはどんなフォルダ構造と実行方法が「良い」とされてるんだろうか?
テストファイルの置き方
以下のように機能に、testフォルダ配下にフォルダでまとめて配置。
\test
\api1\target1_test.js
\target2_test.js
\api2\target3_test.js
\target4_test.js
\target999_test.js
package.jsonのtestに関する記述
Mochaの呼び出しで、「サブディレクトリを含めて実行」を指定しておく。
なお、以下はWindows環境で且つ、Mochaをローカルインストールしている場合の例(startは、、、まぁ雰囲気で一緒に載せる)。
"directories": {
"test": "test"
},
"scripts": {
"test": "node_modules/.bin/mocha --recursive",
"start": "node server.js"
},
実行方法(小分け実行と、まとめて実行)
npm test
に続けて「フォルダへの相対パス」を記述する。相対パスの記述にはコマンドラインの補完機能が使える。具体的には「npm test test\
」まで打って、TABキーを押す。すると、フォルダ候補が補完されるので楽。
具体的な実行例は以下。
npm test test\api1
で、target1_test.js
と target2_test.js
に記述されたテストが実行される。
npm test test\api2
で、target3_test.js
と target4_test.js
に記述されたテストが実行される。
フォルダ指定を省略すると、test
フォルダ配下すべてを指定したことになる。具体的には、
npm test
で、target1_test.js
~ target4_test.js
と、直下の target999_test.js
に記述されたテストが対象になる。つまり、test
フォルダ配下のテストすべてを実行される。
以上ー。
参考サイト
(分割する場合のフォルダー構成について、公式の案内は特に無いのね・・・)