Node.js Mocha未在子文件夹中拾取测试

Node.js Mocha未在子文件夹中拾取测试,node.js,mocha.js,chai,Node.js,Mocha.js,Chai,我正在使用Mocha和Chai在我的节点项目中设置一些测试。我已经成功地运行了许多测试,现在我想更合理地对它们进行分组。现在,所有测试都位于项目根目录下的一个“test”文件夹中 我注意到,当我在“test”文件夹中创建一个子文件夹,并在其中放置一个测试时,Mocha永远不会运行它。知道为什么会这样吗?我的理解是,Mocha在任何名为“test”的文件夹中运行测试,以及该“test”文件夹中的任何子目录 My package.json如下所示: { "name": "event_runner

我正在使用Mocha和Chai在我的节点项目中设置一些测试。我已经成功地运行了许多测试,现在我想更合理地对它们进行分组。现在,所有测试都位于项目根目录下的一个“test”文件夹中

我注意到,当我在“test”文件夹中创建一个子文件夹,并在其中放置一个测试时,Mocha永远不会运行它。知道为什么会这样吗?我的理解是,Mocha在任何名为“test”的文件夹中运行测试,以及该“test”文件夹中的任何子目录

My package.json如下所示:

{
  "name": "event_runner",
  "version": "1.0.0",
  "description": "",
  "main": "server.js",
  "directories": {
    "lib": "lib"
  },
  "scripts": {
    "test": "mocha || true",
    "start": "node server.js"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "agenda": "^2.1.0",
    "agendash": "^1.0.0",
    "express": "^4.17.1",
    "mariadb": "^2.1.1",
    "mongoose": "^5.7.3"
  },
  "devDependencies": {
    "chai": "^4.2.0",
    "chai-datetime": "^1.5.0",
    "mocha": "^6.2.1"
  }
}

为了让测试运行,我只是在命令行中键入
mocha
。只有当所有测试都在一个根文件夹中时,这才有效。我确实找到了运行所有测试的解决方案,包括子文件夹中的测试。在mac上,我必须从命令行运行此命令:

mocha "./test/" --recursive
奖励:要在运行测试后退出,请添加
--exit
标志:

mocha.“/test/”--递归--退出