Mocha
Mocha 是一个 JavaScript 测试框架,在执行异步测试场景时尤其有用。 您可以在 WebStorm 外部运行 Mocha 测试,检查以树状视图显示的测试结果,并轻松导航到测试源代码。 在编辑器中测试项旁,WebStorm 会显示测试状态,并提供快速运行或调试的选项。
准备工作
安装 Mocha
在嵌入式 终端 (Alt+F12 )中键入以下命令之一:
npm install mocha,即可在项目中进行本地安装。npm install -g mocha,即可进行全局安装。npm install --save-dev mocha,以将 Mocha 安装为 开发依赖项。
请参考 Mocha 官方网站的入门指南 了解更多信息。
编写测试
请根据 Mocha 官方网站 中的说明创建测试。
运行测试
通过 WebStorm,您可以直接在编辑器中快速运行单个 Mocha 测试,或创建运行/调试配置来执行部分或全部测试。
从编辑器运行单个测试
点击代码边栏中的
或
,然后从列表中选择 运行 <test_name>。

您还可以在编辑器中直接看到测试是通过还是失败,这得益于代码边栏中的 测试状态 图标
和
。

创建 Mocha 运行配置
打开 运行/调试配置 对话框(主菜单中的 ),点击左侧面板中的
,然后从列表中选择 Mocha。 运行/调试配置:Mocha 对话框将打开。
指定要使用的 Node 解释器和
mocha包的位置。指定应用程序的工作目录。 默认情况下, 工作目录 字段显示项目根文件夹。 如需更改此预定义设置,请指定所需文件夹的路径。
可选:
配置以便在相关源文件更改时自动重新运行测试。 为此,请在 Mocha 额外选项 字段中添加
--watch标志。指定要运行的测试。 可以是某个特定测试或套件、整个测试文件,或包含测试文件的文件夹。
您还可以定义模式,仅运行符合条件文件中的测试,例如
*.test.js。 如果测试文件存储在单独的文件夹中,例如 test ,请在模式中指定该文件夹相对于工作目录的路径:./folder1/folder2/test/*.test.js选择测试中使用的 接口。
通过 Mocha 运行配置运行测试
重新运行失败的测试
点击测试结果工具栏中的
。 WebStorm 将执行上次会话中失败的所有测试。

如需重新运行某个特定失败测试,请在其上下文菜单中选择 。

或者,点击失败测试旁边代码区域中的
,然后从列表中选择 。

如需了解更多信息,请参阅 重新运行测试。
导航
借助 WebStorm,您可以在文件与其关联的测试文件之间,或在 测试运行器选项卡 中的测试结果与测试之间快速跳转。
如需在测试和被测对象之间跳转,可在编辑器中打开文件,然后在上下文菜单中选择 或 ,或直接按 Ctrl+Shift+T。
要从测试结果跳转到测试定义,请在 测试运行器 选项卡中双击测试名称,或从上下文菜单中选择 ,或直接按 F4。 测试文件将在编辑器中打开,并将光标定位在测试定义处。
对于失败的测试,WebStorm 会根据堆栈跟踪将您定位到测试中的失败行。 如果堆栈跟踪中没有精确的位置,系统将跳转至测试定义。
调试测试
借助 WebStorm,您可以直接从编辑器快速开始调试单个 Mocha 测试,或创建运行/调试配置来调试部分或全部测试。
从编辑器启动单个测试的调试
在您要调试的测试旁边的代码区域设置断点。 您可以通过在 运行 工具窗口中双击失败测试,或按 F4 跳转到测试。
点击代码区域中的
或
,然后从列表中选择 调试 <test_name>。
在 调试 工具窗口中,按常规方式操作: 单步执行程序、 暂停并恢复 程序执行、 在暂停时检查程序 、查看调用堆栈和变量、设置监视、计算变量、 查看实际 HTML DOM 等。

通过运行/调试配置启动测试调试
监视代码覆盖率
借助 WebStorm,您还可以监控代码被 Mocha 测试覆盖 的程度。 WebStorm 会在专用的 覆盖率 工具窗口中显示此统计信息,并在编辑器中及 项目 工具窗口中,以视觉方式标识已覆盖和未覆盖的代码行 Alt+1。 要监视覆盖率,您需要安装 nyc ,这是 Istanbul 的命令行界面。
安装 nyc
在嵌入的 终端 (Alt+F12 )中,键入:
npm install --save-dev nyc
运行测试并生成覆盖率报告
在 Docker 容器中使用 Node.js 运行 Mocha 测试
使用 WebStorm,您可以在 Docker 容器中运行 Mocha 测试,其方式与本地运行相同。
准备工作
请确保在 设置 | 插件 页面、 已安装 选项卡中启用了所需插件 Node.js、 Node.js Remote Interpreter 和 Docker。 有关详细信息,请参阅 Managing plugins。
按 Docker 中所述下载、安装并配置 Docker
在 Docker 中配置 Node.js 远程解释器 ,或通过 Docker Compose 配置,并在项目中 将其设置为默认。 还请确保与此远程解释器关联的软件包管理器已 设置为项目默认。
打开您的 package.json ,并确保在
devDependencies部分列出了 Mocha:{ "name": "node-express", "version": "0.0.0", "private": true, "dependencies": { "cookie-parser": "~1.4.4", "debug": "~2.6.9", "express": "~4.16.1", "http-errors": "~1.6.3", "morgan": "~1.9.1", "pug": "^3.0.2" }, "devDependencies": { "chai": "^4.3.4", "eslint": "^8.1.0", "http-server": "^14.0.0", "mocha": "^9.1.3" } }在编辑器任意位置右键单击,并从上下文菜单中选择 运行 '<package manager> install'。
运行测试
请按照 Mocha 官方网站 中的说明创建测试。
操作方式与本地开发相同:可直接从编辑器运行和调试单个测试,或创建运行/调试配置以运行部分或全部测试,如上文 运行测试 和 调试测试 所述。



