Mocha 只有 运行 个测试文件
Mocha only running one test file
我的 Mocha 测试工作正常,但是当我添加一个新模块(和测试)时,mocha 停止了 运行 我所有的测试文件,现在只运行一个新测试。
我的测试脚本:
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 仅运行该测试文件和 none 其他文件。
在您传递给 Mocha 的模式周围加上单引号,以防止它被您的 shell 解释:'src/**/*.test.js'
如果没有引号,您的 shell 会尝试扩展该模式并成功。扩展的结果是src/some-other-module/some-other-module.test.js
,这是传递给摩卡的。
在您创建该文件之前,shell 仍尝试扩展模式但未成功,并按原样保留模式。所以 Mocha 得到了 src/**/*.test.js
,Mocha 本身将其解释为一个 glob。
如果您想知道,在 Bash 中,除非 globstar
选项打开,否则 **
等同于 *
。
我的 Mocha 测试工作正常,但是当我添加一个新模块(和测试)时,mocha 停止了 运行 我所有的测试文件,现在只运行一个新测试。
我的测试脚本:
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 仅运行该测试文件和 none 其他文件。
在您传递给 Mocha 的模式周围加上单引号,以防止它被您的 shell 解释:'src/**/*.test.js'
如果没有引号,您的 shell 会尝试扩展该模式并成功。扩展的结果是src/some-other-module/some-other-module.test.js
,这是传递给摩卡的。
在您创建该文件之前,shell 仍尝试扩展模式但未成功,并按原样保留模式。所以 Mocha 得到了 src/**/*.test.js
,Mocha 本身将其解释为一个 glob。
如果您想知道,在 Bash 中,除非 globstar
选项打开,否则 **
等同于 *
。