首页 > 解决方案 > 如何使用 Mocha 在 Visual Studio Code 中设置测试文件夹的目录?

问题描述

根据本教程,我一直在尝试使用 Visual Studio Code 学习使用 Mocha 进行单元测试。但是,当我单击“播放”按钮启动 Mocha 测试时,我收到一个关于找不到测试文件的错误。

它显然希望我将测试文件放在一个目录中,这会弄乱我在项目中组织事物的方式。

那么,有没有办法让我将它指向我在其他地方设置的测试文件夹?

标签: javascriptunit-testingvisual-studio-codemocha.js

解决方案


要告诉 Mocha在另一个文件夹中运行测试而不是在默认./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 扩展(有几个),因为您不需要将测试作为启动命令运行,并且您将在侧边栏中拥有所有测试,并可以选择调试每个一并在代码中添加断点

在此处输入图像描述

以及在您的测试中

在此处输入图像描述

PS 这个项目在 GitHub 上,所以你可以看到一切是如何工作的,包括代码覆盖率,如果你想看看它是如何工作的 :)


推荐阅读