如何让Mocha在Node.js

时间:2018-01-13 22:47:24

标签: javascript node.js mocha

我正在将测试集成到我的Node服务器中,并且在单元测试方面遇到了一些麻烦。当我在根目录中运行npm test时,Mocha会自动运行test文件夹中的所有测试。但是,分散在整个项目中的单元测试不会运行。如何确保Mocha自动运行它们?

2 个答案:

答案 0 :(得分:2)

您可以将PriorityBlockingQueue命令修改为npm test您的测试文件并针对它们运行find

假设目录结构如下:

mocha

您可以像这样更改project/ src/ test/ main-tests.test.js things/ test/ thing.test.js more_things/ more-things.test.js

package.json

可能还有其他方法可以做到这一点,比如指定测试文件位置的预期glob模式。

这两种方法都需要一个简单的模式来测试文件的名称。

答案 1 :(得分:0)

我不明白为什么您要让测试“分散在整个项目中”。我认为将所有这些文件都保留在专用的测试文件夹中会更好。如果您担心要轻松找到特定源文件的测试,则可以镜像src文件夹的文件夹结构。示例:

project/
├── src/
│   ├── one/
│   │   └── foo.js
│   └── two/
│       └── bar.js
└── test/
    ├── one/
    │   └── foo.test.js
    └── two/
        └── bar.test.js

无论您是否决定重新组织项目,获取Mocha递归执行所有测试文件的方式都如下:

scripts: {
  "test": "mocha \"./**/*.test.js\""
}

如果您不想搜索整个项目文件夹,则可以将.替换为testsrc(或任何其他文件夹)。

您可以在此处了解更多信息:How do I get mocha to execute tests in all subfolders recursively?