如何让 Mocha 在 Node.js 的多个子文件夹中执行单元测试

Pat*_*ors 4 javascript mocha.js node.js

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

Mat*_*gan 7

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

假设目录结构如下:

project/
  src/
    test/
        main-tests.test.js
    things/
        test/
          thing.test.js
    more_things/
      more-things.test.js
Run Code Online (Sandbox Code Playgroud)

package.json你会像这样改变你的:

scripts: {
  ...
  "test": "mocha $(find . -name '*.test.js')"
  ...
} 
Run Code Online (Sandbox Code Playgroud)

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

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