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 选项打开,否则 ** 等同于 *