Mochaテストは正常に機能していましたが、新しいモジュール(およびテスト)を追加すると、mochaはすべてのテストファイルの実行を停止し、1つの新しいテストのみを実行するようになりました。
私のテストスクリプト:
env NODE_PATH=$NODE_PATH:$PWD/src mocha --recursive --compilers js:babel-core/register src/**/*.test.js --require babel-polyfill
私のプロジェクトは次のように構成されています。
/src
/components
/component-name
index.js
component.js
component-name.test.js
style.scss
/util
/module-name
index.js
module-name.test.js
/some-other-module
index.js
some-other-module.test.js
/components
と/util
でいくつかのテストを行い、すべてが正常に機能しましたが、モジュールを/src
(/some-other-module
など)に.test.js
ファイルを入れて配置するとMochaはそのテストファイルのみを実行し、他のファイルは実行しません。
シェルによって解釈されないように、Mochaに渡すパターンを一重引用符で囲みます。'src/**/*.test.js'
何が起こるかというと、引用符がないと、シェルはそのパターンを拡張しようとして成功します。拡張の結果はsrc/some-other-module/some-other-module.test.js
であり、これがMochaに渡されます。
そのファイルを作成する前に、シェルはパターンを展開しようとしましたが、成功せず、パターンをそのままにしました。そのため、モカはsrc/**/*.test.js
を取得しました。これは、モカ自体がグロブとして解釈しました。
不思議に思うかもしれませんが、Bashでは、globstar
オプションがオンになっていない限り、**
は*
と同等です。