要告诉 Mocha 到 run the tests in another folder 而不是在默认的 ./test 文件夹中运行,您可以简单地更改命令并执行
mocha "./spec/**/*.js"
或者,如果您的 bash 不支持 ** 运行为
mocha --recursive "./spec/*.js"
这意味着,您可以轻松地将 VSCode 启动脚本更改为:
{
"type": "node",
"request": "launch",
"name": "Mocha Tests",
"program": "${workspaceFolder}/node_modules/mocha/bin/_mocha",
"args": [
"./<YOUR_FOLDER_HERE>/**/*.js",
"--ui bdd",
"--timeout 15000",
"--sort",
"--colors",
"--bail",
"-R spec",
"--recursive",
"--exit",
],
"internalConsoleOptions": "openOnSessionStart"
}
记得将 <YOUR_FOLDER_HERE> 更改为您拥有测试的文件夹名称
如果您的代码中有测试但它们被命名,例如routes.spec.js,您可以简单地说./**/*.spec.js,并会在您的项目中找到每个以.spec.js结尾的文件
上面的例子和mocha.opts文件一样
# mocha options
--ui bdd
--timeout 15000
--sort
--colors
--bail
-R spec
--require test/prepare
--recursive
--exit
只需使用参数,直到您按照自己的喜好运行它...
顺便说一句,如果您使用的是 VSCode,我强烈推荐 Mocha extension(有几个),因为您不需要将测试作为启动命令运行,并且 您将在您的侧边栏中包含所有测试,并可以选择调试每个测试并向您的代码添加断点
在你的测试中也是如此
附:这个项目is in GitHub 所以你可以看到一切是如何工作的,包括代码覆盖率,如果你想看看它是如何工作的:)