LoginSignup
7
7

More than 5 years have passed since last update.

Mochaでのテストファイルのフォルダ構造とnpm設定

Last updated at Posted at 2018-01-17

概要

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は、、、まぁ雰囲気で一緒に載せる)。

package.json
  "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.jstarget2_test.js に記述されたテストが実行される。

npm test test\api2

で、target3_test.jstarget4_test.js に記述されたテストが実行される。

フォルダ指定を省略すると、testフォルダ配下すべてを指定したことになる。具体的には、

npm test 

で、target1_test.jstarget4_test.js と、直下の target999_test.js に記述されたテストが対象になる。つまり、testフォルダ配下のテストすべてを実行される。

以上ー。

参考サイト

(分割する場合のフォルダー構成について、公式の案内は特に無いのね・・・)

7
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7