GoLand 2025.2 Help

测试 Node.js

使用 GoLand,您可以使用多种框架测试 Node.js 应用程序。

本页介绍了如何使用 内置 Node.js 测试运行器Mocha 进行测试,Mocha 是一种 JavaScript 测试框架,特别适合执行异步测试场景。 您可以从 GoLand 外部运行 Mocha 测试,查看以树状视图排列的测试结果,并轻松导航到测试源代码。 在编辑器中,GoLand 在测试旁边显示测试状态,并提供快速运行或调试的选项。

开始之前

  1. 下载并安装 Node.js

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

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

内置 Node.js 测试运行器

从第 20 版开始,Node.js 已内置稳定版本的 Node.js 测试运行器。 GoLand 支持与内置测试运行器集成,您可以无需安装和配置任何第三方框架即可运行测试。

也支持测试 TypeScript 代码,详情请参阅 测试 TypeScript

  1. 请确保您的计算机中已安装 Node.js 20 或更高版本,并将其配置为 本地 Node.js 解释器

  2. 按照 Node.js 官方网站 中的说明创建测试文件。

  3. 在边栏中:

    • 单击 运行测试图标 以运行单个测试。

    • 单击 运行所有测试图标 以运行测试套件中的所有测试。

    使用 Node.js 内置测试运行器从编辑器中运行测试
  4. 运行 工具窗口中查看测试结果,详细了解请参阅 浏览测试结果

  5. 重新运行测试:

    • 要重新运行单个测试,请在 运行 工具窗口中选中测试,并从其上下文菜单中选择 Run '<test name>' 或按下 Alt+Shift+R

      从运行工具窗口重新运行单个测试

      或者,使用测试旁边的边栏图标重新运行该测试。 单击 运行已忽略测试图标重新运行失败测试图标重新运行成功测试图标 以重新运行被忽略、失败或成功的测试。

      从标记栏重新运行单个测试
    • 要重新运行整个套件,请在 运行 工具窗口的工具栏单击 重新运行 “<suite name>” 图标

      重新运行测试套件

      或者,单击套件旁边的边栏图标。

      从标记栏重新运行测试套件

使用第三方测试框架测试您的代码

虽然可以使用任何框架,但推荐使用 Mocha。

安装 Mocha

  1. 在嵌入式 终端Alt+F12 )中键入以下命令之一:

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

    • npm install&#xa0;-g mocha 用于全局安装。

    • npm install&#xa0;--save-dev mocha 将 Mocha 作为 开发依赖项 安装。

    详细了解可参阅 Mocha 官方网站的入门指南

  2. 安装 Chai 断言库 ,以高效替代 Node.js 标准 assert 函数

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

    npm install --save-dev chai

编写 Mocha 测试

运行 Mocha 测试

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

从编辑器中运行单个 Mocha 测试

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

    从编辑器中运行 Mocha 测试

    感谢 测试状态 图标 测试通过测试失败 ,您还可以在编辑器中直接查看测试是否通过或失败。

    标记栏中的测试状态

创建 Mocha 运行配置

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

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

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

  4. 可选:

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

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

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

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

  6. 选择要运行测试所使用的 接口

通过 Mocha 运行配置运行测试

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

  2. 运行 工具窗口的 测试运行器 选项卡中监控测试执行并分析测试结果。 有关详细信息,请参阅 浏览测试结果

    • 使用 单击以查看差异 链接打开 差异查看器 ,并比较实际结果和预期结果。

    • 包含所选测试的文件名以链接形式显示。 单击此链接可跳转到源代码。

  3. 测试运行器 选项卡的 运行 工具窗口中监视测试执行并分析测试结果。 如需了解详情,请参阅 查看测试结果

    监视测试执行
Mocha:监视测试

重新运行失败的 Mocha 测试

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

    Mocha:重新运行所有失败测试
  • 如需重新运行某个特定的失败测试,请在其上下文菜单中选择 Run <test name>

    从编辑器重新运行单个失败测试:上下文菜单
  • 或者,在失败测试旁边的标记区点击 失败测试图标 ,并从列表中选择 Run <test name>

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

如需了解详情,请参阅 重新运行测试

导航

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

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

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

  • 对于失败的测试,GoLand 会根据堆栈跟踪将您定位到测试中的失败行。 如果堆栈跟踪中没有明确的行,则将跳转到测试定义。

调试测试

如果测试由于不明确的原因失败,您可以调试该测试,以确定其是否已过时,或是您对源代码所做的更改破坏了应用程序的预期行为。

使用 GoLand,可直接在编辑器中快速开始调试单个 Mocha 测试,或者创建运行/调试配置来调试部分或全部测试。

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

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

  2. 点击标记区中的 运行按钮重新运行按钮 ,并从列表中选择 Debug <test_name>

  3. 调试 工具窗口中,请按常规流程继续操作: 单步执行程序暂停与恢复 程序执行、 在挂起时检查程序 ,浏览调用堆栈与变量,设置监视,计算变量值、 查看实际 HTML DOM 等。

调试 Mocha 测试

使用 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 运行/调试配置, 如上所述 ,在主工具栏中从列表中选择它,然后点击该列表右侧的 使用覆盖率运行

    • 或者,在编辑器中以带覆盖率的方式运行特定套件或测试:点击左侧标记区中的 运行按钮重新运行按钮 ,然后从列表中选择 Run <test_name> with Coverage

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

    Mocha 测试:覆盖率报告

在 Docker 容器中使用 Node.js 运行测试

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

开始之前

  1. 设置 | 插件 页的 Marketplace 选项卡上安装 Node.jsNode.js Remote Interpreter 插件,具体操作请参见 从 JetBrains Marketplace 安装插件

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

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

  4. 打开您的 package.json ,并确认所需的测试框架已列在 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", "concurrently": "^6.3.0", "eslint": "^8.1.0", "http-server": "^14.0.0", "jest": "^27.3.1", "mocha": "^9.1.3", "nyc": "^15.1.0" } }
  5. 在编辑器中的任意位置右键点击,并从上下文菜单中选择 Run '<package manager> install'

运行测试

  1. 按照 Mocha 官方网站上的说明创建测试。

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

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