我正在将测试集成到我的Node服务器中,并且在单元测试方面遇到了一些麻烦。当我在根目录中运行npm test
时,Mocha会自动运行test
文件夹中的所有测试。但是,分散在整个项目中的单元测试不会运行。如何确保Mocha自动运行它们?
答案 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\""
}
如果您不想搜索整个项目文件夹,则可以将.
替换为test
或src
(或任何其他文件夹)。
您可以在此处了解更多信息:How do I get mocha to execute tests in all subfolders recursively?