PyCharm 2025.3 Help

Mocha

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

开始之前

  1. 请确保您的计算机上已安装 Node.js

  2. 请确保在 设置 | 插件 页面、 已安装 选项卡上启用了必需的 JavaScript and TypeScriptNode.js 插件。 有关详细信息,请参阅 管理插件

安装 Mocha

  • 在嵌入式 终端Alt+F12 )中,输入以下命令之一:

    • npm install mocha :在项目中进行本地安装。

    • npm install -g mocha :进行全局安装。

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

    Mocha 官方网站入门 中了解更多信息。

编写测试

运行测试

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

从编辑器运行单个测试

  • 在标记栏中点击 “运行”按钮“重新运行”按钮 ,然后从列表中选择 运行 <test_name>

    从编辑器运行 Mocha 测试

    借助标记栏中的 测试状态图标 测试通过测试失败 ,您还可以直接在编辑器中查看测试是通过还是失败。

    标记栏中的测试状态

创建 Mocha 运行配置

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

  2. 指定要使用的 Node.js 运行时以及 mocha 软件包的位置。

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

  4. 可选:

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

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

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

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

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

通过 Mocha 运行配置运行测试

  1. 从配置列表中选择 Mocha 运行/调试配置,然后在列表或工具栏中点击 “运行”图标 &#xa0;。

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

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

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

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

    监视测试执行

重新运行失败的测试

  1. 在测试结果工具栏上点击 “重新运行失败的测试”图标。 PyCharm 将执行上一次会话期间失败的所有测试。

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

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

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

有关详细信息,请参阅 重新运行测试

导航

PyCharm 允许您在文件与其相关的测试文件之间跳转,或从 测试运行器选项卡 中的测试结果跳转到测试。

  • 要在测试与其被测代码之间或反向跳转,请在编辑器中打开文件,并在上下文菜单中选择 转到 | 测试(S)转到 | 测试对象 ,或者直接按 Ctrl+Shift+T

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

  • 对于失败的测试,PyCharm 会根据堆栈跟踪将您定位到测试中的失败行。 如果堆栈跟踪中没有精确的行,将带您前往测试定义。

调试测试

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

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

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

  2. 在标记栏中点击 “运行”按钮“重新运行”按钮 ,然后从列表中选择 调试 <test_name>

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

调试 Mocha 测试

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

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

  2. 创建 Mocha 运行/调试配置 as described above

  3. 从配置列表中选择 Mocha 运行/调试配置,然后在列表或工具栏中点击 “调试”图标 &#xa0;。

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

监视代码覆盖率

使用 PyCharm,您还可以监视您的代码有多少被 Mocha 测试覆盖。 PyCharm 会在专用的 覆盖率 工具窗口中显示此统计信息,并在编辑器以及 项目 工具窗口 Alt+1 中以可视方式标注已覆盖和未覆盖的行。 要监视覆盖率,您需要安装 nyc ,这是 Istanbul 的命令行界面。

安装 nyc

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

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

使用覆盖率运行测试

  1. 运行测试:

    • 创建 Mocha 运行/调试配置 as described above ,从主工具栏上的列表中选择它,然后点击列表右侧的 使用覆盖率运行

      使用覆盖率运行 Mocha 测试
    • 或者,从编辑器运行特定的套件或带覆盖率的测试:在左侧标记栏中点击 “运行”按钮“重新运行”按钮 ,然后从列表中选择 使用覆盖率运行 <test_name>

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

    Mocha 测试:覆盖率报告

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

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

开始之前

  1. 设置 | 插件 页面、 Marketplace 选项卡上安装 Node.jsNode.js Remote Interpreter 插件,具体请参阅 从 JetBrains Marketplace 安装插件

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

  3. 按照 Docker 中的说明下载、安装并配置 Docker

  4. 在 Docker 中配置 Node.js 远程运行时或通过 Docker Compose 并在项目中 将其设置为默认。 另请确保与此远程运行时关联的包管理器已 设置为项目默认

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

运行测试

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

  2. 与本地开发相同:直接在编辑器中运行和调试单个测试,或创建运行/调试配置以按上述 运行测试调试测试 中的说明启动部分或全部测试。

最后修改日期: 2025年 12月 2日