Mocha
Mocha 是一个 JavaScript 测试框架,特别适用于执行异步测试场景。 您可以在 GoLand 外部运行 Mocha 测试,查看以树状视图排列的测试结果,并轻松导航到测试源代码。 在编辑器中的测试旁,GoLand 会显示测试状态,并提供快速运行或调试的选项。
开始之前
下载并安装 Node.js。
请确保在设置中启用 JavaScript and TypeScript 插件。 按 Ctrl+Alt+S 打开设置,然后选择 。 单击 已安装 选项卡。 在搜索字段中输入 JavaScript and TypeScript。 有关插件的更多信息,请参阅 管理插件。
按照 从 JetBrains Marketplace 安装插件 中的说明,在 设置 | 插件 页面、 Marketplace 选项卡上安装并启用 Node.js 插件。
安装 Mocha
在内置的 终端 (Alt+F12 )中,输入以下命令之一:
npm install mocha:用于在项目中本地安装。npm install -g mocha:用于全局安装。npm install --save-dev mocha:将 Mocha 作为 开发依赖 安装。
请参阅 Mocha 官方网站的入门指南 了解更多信息。
编写测试
请根据 Mocha 官方网站 的说明创建测试。
运行测试
借助 GoLand,您可以直接从编辑器中快速运行单个 Mocha 测试,或创建运行/调试配置以执行部分或全部测试。
从编辑器中运行单个测试
在侧边栏中单击
或
,然后从列表中选择 运行 <test_name>。

由于在侧边栏中显示了 测试状态 图标
和
,您也可以直接在编辑器中查看测试是通过还是失败。

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

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

或者,单击失败测试旁边标记区域中的
,然后从该列表中选择 。

有关详情,请参阅 重新运行测试。
导航
使用 GoLand,您可以在文件及其相关测试文件之间,或从 测试运行器选项卡中的测试结果跳转到测试。
要在测试及其测试目标之间跳转,请在编辑器中打开文件并从上下文菜单中选择 或 ,或直接按 Ctrl+Shift+T。
要从测试结果跳转到测试定义,请在 测试运行器 选项卡中双击测试名称,或在上下文菜单中选择 ,或直接按 F4。 测试文件将在编辑器中打开,并在测试定义处定位光标。
对于失败的测试,GoLand 会根据堆栈跟踪定位到测试中的失败行。 如果堆栈跟踪中不包含精确行,将跳转到测试定义。
调试测试
使用 GoLand,您可以直接从编辑器调试单个 Mocha 测试,也可以创建运行/调试配置来调试部分或全部测试。
从编辑器中开始调试单个测试
在要调试的测试旁边的标记区域设置断点。 您可以通过在 运行 工具窗口中双击或按 F4 跳转到失败测试。
单击标记区域中的
或
,然后从列表中选择 调试 <test_name>。
在 调试 工具窗口中按照常规方式操作: 单步执行程序、 暂停与恢复程序执行、 挂起时进行检查 、查看调用堆栈和变量、设置监视、评估变量、 查看实际的 HTML DOM等。

通过运行/调试配置启动测试调试
在您想调试的测试旁设置断点。 您可以通过在 运行 工具窗口中双击或按 F4 跳转到失败测试。
如上所述创建 Mocha 运行/调试配置。
从配置列表中选择 Mocha 运行/调试配置,然后单击列表或工具栏中的
。
在打开的 调试工具窗口 中按照常规操作: 单步执行程序、 暂停与恢复程序执行、 挂起时进行检查 、查看调用堆栈和变量、设置监视、评估变量、 查看实际的 HTML DOM等。
监视代码覆盖率
通过 GoLand,您还可以监控代码中有多少部分已 通过 Mocha 测试覆盖。 GoLand 会在专用的 覆盖率 工具窗口中显示该统计信息,并在编辑器及 项目 工具窗口中以可视方式标示被覆盖与未覆盖的行 Alt+1。 如需监控覆盖率,需安装 nyc ,即 Istanbul 的命令行界面。
安装 nyc
在嵌入式 终端 (Alt+F12 )中输入:
npm install --save-dev nyc
运行带覆盖率的测试
在 Docker 容器中的 Node.js 环境中运行 Mocha 测试
使用 GoLand,您可以在 Docker 容器中运行 Mocha 测试,其方式与本地运行相同。
开始之前
在 设置 | 插件 页面上的 Marketplace 选项卡中安装 Node.js 和 Node.js Remote Interpreter 插件,详情请参阅 从 JetBrains Marketplace 安装插件。
下载、安装并配置 Docker ,具体请参阅 Docker
在 Docker 中配置 Node.js 远程解释器 ,或者通过 Docker Compose 进行配置,并在您的项目中将其 设置为默认。 还请确保与此远程解释器关联的包管理器已 设置为项目默认值。
打开您的 package.json 并确保 Mocha 已列在
devDependencies部分中:{ "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 官方网站中的说明创建测试。
操作流程与本地开发相同:可以直接在编辑器中运行和调试单个测试,或如上文 运行测试和 调试测试中所述创建运行/调试配置以运行部分或全部测试。

