如何配置Mocha以递归查找所有测试文件?

Yai*_*vet 1 javascript unit-testing mocha.js node.js

如何配置mocha以查找项目目录中的所有测试文件,而不仅仅是test根目录中文件夹中的测试文件?

当前,我在package.json中使用npm脚本:

"test": "mocha"
Run Code Online (Sandbox Code Playgroud)

并使用以下命令运行:

npm run test
Run Code Online (Sandbox Code Playgroud)

Faw*_*wzi 7

这对我有用,可以找到除 node_modules 之外的所有目录中的所有测试文件

mocha \"./{,!(node_modules)/**/}*.test.js\"
Run Code Online (Sandbox Code Playgroud)

为了澄清起见,这个 glop 表达式表示:

获取当前目录(即根目录)或当前目录的任何子目录中以 .test.js 结尾的所有文件,无论深度如何,但 ./node_modules 文件夹中存在的文件除外。


Ste*_*ado 6

例如,要查找src目录中的所有测试文件,则应该能够使用以下模式:

mocha "src/**/*.test.js"

...并确保您的测试文件具有.test.js文件扩展名,以使其与其他.js文件不同。

(请注意模式周围的双引号)

  • @stripberger,如果你不引用模式,它会被shell 解释并变得类似于src/*/*.test.js,因为shell 不理解** 的含义。 (2认同)