GoLand 2025.2 Help

Mocha

Mocha 是一个 JavaScript 测试框架,特别适用于执行异步测试场景。 您可以在 GoLand 外部运行 Mocha 测试,查看以树状视图排列的测试结果,并轻松导航到测试源代码。 在编辑器中的测试旁,GoLand 会显示测试状态,并提供快速运行或调试的选项。

开始之前

  1. 下载并安装 Node.js

  2. 请确保在设置中启用 JavaScript and TypeScript 插件。 按 Ctrl+Alt+S 打开设置,然后选择 插件。 单击 已安装 选项卡。 在搜索字段中输入 JavaScript and TypeScript。 有关插件的更多信息,请参阅 管理插件

  3. 按照 从 JetBrains Marketplace 安装插件 中的说明,在 设置 | 插件 页面、 Marketplace 选项卡上安装并启用 Node.js 插件。

安装 Mocha

  • 在内置的 终端Alt+F12 )中,输入以下命令之一:

    • npm install mocha :用于在项目中本地安装。

    • npm install -g mocha :用于全局安装。

    • npm install --save-dev mocha :将 Mocha 作为 开发依赖 安装。

    请参阅 Mocha 官方网站的入门指南 了解更多信息。

编写测试

运行测试

借助 GoLand,您可以直接从编辑器中快速运行单个 Mocha 测试,或创建运行/调试配置以执行部分或全部测试。

从编辑器中运行单个测试

  • 在侧边栏中单击 运行按钮重新运行按钮 ,然后从列表中选择 运行 <test_name>

    从编辑器中运行 Mocha 测试

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

    侧边栏的测试状态

创建 Mocha 运行配置

  1. 打开 运行/调试配置 对话框(主菜单中的 运行 | 编辑配置 ),在左侧面板中点击 添加按钮 ,并从列表中选择 Mocha运行/调试配置:Mocha对话框随即打开。

  2. 指定要使用的 Node 解释器以及 mocha 包的位置。

  3. 指定应用程序的工作目录。 默认情况下, 工作目录 字段显示项目的根文件夹。 如需更改此预设设置,请指定所需文件夹的路径。

  4. 可选:

    配置以便在相关源文件发生更改时自动重新运行测试。 为此,请在 其他 Mocha 选项 字段中添加 --watch 标志。

  5. 指定要运行的测试。 可以是具体测试或套件、整个测试文件,或包含测试文件的文件夹。

    您还可以定义模式,仅运行与文件匹配的测试,例如: *.test.js。 如果测试文件存储在单独的文件夹中,例如: test ,请在模式中相对于工作目录指定该文件夹的路径:

    ./folder1/folder2/test/*.test.js

  6. 选择用于运行测试的 interface

通过 Mocha 运行配置运行测试

  1. 从配置列表中选择 Mocha 运行/调试配置,然后单击列表或工具栏中的 运行图标

  2. 运行 工具窗口的 测试运行器 选项卡中监视测试执行并分析测试结果。 有关详情,请参阅 测试结果分析

    • 使用 单击查看差异 链接打开 差异查看器 并将实际结果与期望结果进行比较。

    • 所选测试所在文件的名称作为链接显示。 单击该链接即可跳转到源代码。

  3. 运行 工具窗口的 测试运行器 选项卡中监视测试执行并分析测试结果。 有关详情,请参阅 测试结果分析

    监视测试执行情况

重新运行失败测试

  1. 单击测试结果工具栏上的 重新运行失败测试图标。 GoLand 将执行上一次会话中失败的所有测试。

    Mocha:重新运行所有失败的测试
  2. 要重新运行某个失败测试,请在其上下文菜单中选择 运行 <test name>

    从编辑器中重新运行单个失败测试:上下文菜单
  3. 或者,单击失败测试旁边标记区域中的 失败测试图标 ,然后从该列表中选择 运行 <test name>

    从编辑器中重新运行单个失败测试:侧边栏图标

有关详情,请参阅 重新运行测试

导航

使用 GoLand,您可以在文件及其相关测试文件之间,或从 测试运行器选项卡中的测试结果跳转到测试。

  • 要在测试及其测试目标之间跳转,请在编辑器中打开文件并从上下文菜单中选择 转到 | 测试(S)转到 | 测试对象 ,或直接按 Ctrl+Shift+T

  • 要从测试结果跳转到测试定义,请在 测试运行器 选项卡中双击测试名称,或在上下文菜单中选择 跳转到源 ,或直接按 F4。 测试文件将在编辑器中打开,并在测试定义处定位光标。

  • 对于失败的测试,GoLand 会根据堆栈跟踪定位到测试中的失败行。 如果堆栈跟踪中不包含精确行,将跳转到测试定义。

调试测试

使用 GoLand,您可以直接从编辑器调试单个 Mocha 测试,也可以创建运行/调试配置来调试部分或全部测试。

从编辑器中开始调试单个测试

  1. 在要调试的测试旁边的标记区域设置断点。 您可以通过在 运行 工具窗口中双击或按 F4 跳转到失败测试。

  2. 单击标记区域中的 运行按钮重新运行按钮 ,然后从列表中选择 调试 <test_name>

  3. 调试 工具窗口中按照常规方式操作: 单步执行程序暂停与恢复程序执行、 挂起时进行检查 、查看调用堆栈和变量、设置监视、评估变量、 查看实际的 HTML DOM等。

调试 Mocha 测试

通过运行/调试配置启动测试调试

  1. 在您想调试的测试旁设置断点。 您可以通过在 运行 工具窗口中双击或按 F4 跳转到失败测试。

  2. 如上所述创建 Mocha 运行/调试配置。

  3. 从配置列表中选择 Mocha 运行/调试配置,然后单击列表或工具栏中的 调试图标

  4. 在打开的 调试工具窗口 中按照常规操作: 单步执行程序暂停与恢复程序执行、 挂起时进行检查 、查看调用堆栈和变量、设置监视、评估变量、 查看实际的 HTML DOM等。

监视代码覆盖率

通过 GoLand,您还可以监控代码中有多少部分已 通过 Mocha 测试覆盖。 GoLand 会在专用的 覆盖率 工具窗口中显示该统计信息,并在编辑器及 项目 工具窗口中以可视方式标示被覆盖与未覆盖的行 Alt+1。 如需监控覆盖率,需安装 nyc ,即 Istanbul 的命令行界面。

安装 nyc

  • 在嵌入式 终端Alt+F12 )中输入:

    npm install&#xa0;--save-dev nyc

运行带覆盖率的测试

  1. 启动测试:

    • 按照 上述说明创建一个 Mocha 运行/调试配置,从主工具栏的列表中选择它,然后点击列表右侧的 带覆盖率运行

    • 或者,您也可以从编辑器中以覆盖模式运行某个特定套件或测试:点击左侧边距中的 运行按钮重新运行按钮 ,然后从列表中选择 使用覆盖率运行 <test_name>

  2. Coverage 工具窗口中监视代码覆盖率。 报告显示有多少文件被测试覆盖,以及其中被覆盖的代码行百分比。 通过报告,您可以跳转到文件并查看哪些代码行已被覆盖(绿色标记),哪些未被覆盖(红色标记):

    Mocha 测试:覆盖率报告

在 Docker 容器中的 Node.js 环境中运行 Mocha 测试

使用 GoLand,您可以在 Docker 容器中运行 Mocha 测试,其方式与本地运行相同。

开始之前

  1. 设置 | 插件 页面上的 Marketplace 选项卡中安装 Node.jsNode.js Remote Interpreter 插件,详情请参阅 从 JetBrains Marketplace 安装插件

  2. 下载、安装并配置 Docker ,具体请参阅 Docker

  3. 在 Docker 中配置 Node.js 远程解释器 ,或者通过 Docker Compose 进行配置,并在您的项目中将其 设置为默认。 还请确保与此远程解释器关联的包管理器已 设置为项目默认值

  4. 打开您的 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" } }
  5. 右键点击编辑器中的任意位置,并从上下文菜单中选择 运行 '<package manager> install'

运行测试

  1. 根据 Mocha 官方网站中的说明创建测试。

  2. 操作流程与本地开发相同:可以直接在编辑器中运行和调试单个测试,或如上文 运行测试调试测试中所述创建运行/调试配置以运行部分或全部测试。

最后修改日期: 2025年 9月 26日