摩卡只运行一个测试文件

Mocha only running one test file

本文关键字:一个 测试 文件 运行 摩卡      更新时间:2023-09-26

我的摩卡测试工作正常,但是当我添加新模块(和测试)时,摩卡停止运行我的所有测试文件,现在只运行单个新测试。

我的测试脚本:

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 的模式周围加上单引号,以防止它被你的 shell 解释: 'src/**/*.test.js'

发生的情况是,如果没有引号,您的 shell 会尝试扩展该模式并成功。扩张的结果是src/some-other-module/some-other-module.test.js的,这就是传递给摩卡的。

在创建该文件之前,shell 仍尝试扩展模式,但没有成功,并且将模式保持原样。所以摩卡得到了src/**/*.test.js,摩卡自己解释为一个球。

如果您想知道,在 Bash 中,除非打开globstar选项,否则**等同于 * .

相关文章: