使用“npm测试”运行摩卡时出现意外行为`

使用“npm测试”运行摩卡时出现意外行为`,npm,mocha.js,Npm,Mocha.js,Mocha使用两个看似相等的命令运行不同数量的单元测试。当我使用npm测试运行mocha时,我得到以下输出: > xxx-yyy@1.0.0-alpha.4 test /Users/xxx/repos/some-path > rm -rf ./.unit-test-build/ && tsc && mocha ./.unit-test-build/**/*.spec.js --reporter progress [▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

Mocha使用两个看似相等的命令运行不同数量的单元测试。当我使用npm测试运行mocha时,我得到以下输出:

> xxx-yyy@1.0.0-alpha.4 test /Users/xxx/repos/some-path
> rm -rf ./.unit-test-build/ && tsc && mocha ./.unit-test-build/**/*.spec.js --reporter progress


  [▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬]

  35 passing (78ms)
事情是这样的;我在这个项目中有超过35个单元测试。test命令在package.json中定义如下:

现在是奇怪的部分。复制上述命令并将其粘贴到终端时,我得到以下输出:

> xxx-yyy@1.0.0-alpha.4 test /Users/xxx/repos/some-path
> rm -rf ./.unit-test-build/ && tsc && mocha ./.unit-test-build/**/*.spec.js --reporter progress


  [▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬]

  35 passing (78ms)
$rm-rf./.单元测试构建/&&tsc&&mocha./.单元测试构建/***规范js-报告程序进度

这是预期行为,123单元测试通过

当我使用npm测试时,为什么摩卡要运行35个测试而不是123个?我怎样才能解决这个问题

我正在使用node v7.6.0、npm 4.1.2和mocha 3.2.0。

在中找到了答案

您需要在全局模式周围放置“标记”,如下所示:

                                           ⬇                              ⬇
rm -rf ./.unit-test-build/ && tsc && mocha './.unit-test-build/**/*.spec.js' --reporter progress
                                           ⬇                              ⬇
rm -rf ./.unit-test-build/ && tsc && mocha './.unit-test-build/**/*.spec.js' --reporter progress