Mocha
Mocha 是一个 JavaScript 测试框架,对于执行异步测试场景特别有帮助。 您可以从 IntelliJ IDEA 外部运行 Mocha 测试,检查按树视图排列的测试结果,并轻松导航到测试源代码。 编辑器中测试旁边,IntelliJ IDEA 显示测试状态,并提供快速运行或调试的选项。
开始之前
安装 Mocha
在嵌入式 终端 (Alt+F12) 中,输入以下命令之一:
npm install mocha以在您的项目中进行本地安装。全局安装
npm install -g mocha。将
npm install --save-dev mocha安装为 开发依赖项。
可通过 Mocha 官方网站上的入门指南了解更多信息。
编写测试
运行测试
使用 IntelliJ IDEA,您可以直接从编辑器快速运行单个 Mocha 测试,或者创建运行/调试配置来执行某些或全部测试。
从编辑器运行单个测试
点击
或
,并从列表中选择 运行 <test_name>。

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

创建一个 Mocha 运行配置
打开 运行/调试配置对话框( 在主菜单中),点击
在左侧窗格中,然后从列表中选择 Mocha。 运行/调试配置:Mocha 对话框打开。
请指定要使用的 Node 解释器以及
mocha包的位置。指定应用程序的工作目录。 默认情况下, 工作目录 字段显示项目根文件夹。 若要更改此预定义设置,请指定所需文件夹的路径。
可选:
在相关源文件发生更改时自动配置重新运行测试。 要做到这一点,请在
--watch标志中添加 其他 Mocha 选项 字段。指定要运行的测试。 这可以是一个特定的测试或套件,整个测试文件或包含测试文件的文件夹。
您还可以定义模式以仅运行来自匹配文件的测试,例如,
*.test.js。 如果测试文件存储在 测试 文件夹中,请在相对于工作目录的模式中指定该文件夹的路径,例如, ./folder1/folder2/test/*.test.js 。选择用于运行测试的 接口。
通过 Mocha 运行配置运行测试
从配置列表中选择 Mocha 运行 / 调试配置,然后在列表或工具栏上点击
 。
在 测试运行程序 选项卡的 运行 工具窗口中监控测试执行并分析测试结果。 如需更多信息,请参阅 Explore test results。
请使用 点击查看差异 链接打开 差异查看器 并将实际结果与预期进行比较。
所选测试文件的名称显示为链接。 点击此链接跳转到源代码。
在 测试运行程序 选项卡的 运行 工具窗口中监控测试执行并分析测试结果。 如需更多信息,请参阅 Explore test results。

重新运行失败测试
点击
测试结果工具栏。 IntelliJ IDEA 将执行上一会话中失败的所有测试。

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

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

导航
使用 IntelliJ IDEA ,您可以在文件与相关测试文件之间跳转,或从 测试运行器选项卡中的测试结果跳转到测试。
在编辑器中打开文件,选择上下文菜单中的 或 ,或者直接按 Ctrl+Shift+T ,即可在测试和其主题之间进行切换。
从测试结果跳转到测试定义,双击 测试运行程序 选项卡中的测试名称,或从上下文菜单中选择 ,或者按 F4。 测试文件在编辑器中打开时,文本光标放置在测试定义处。
对于失败的测试,IntelliJ IDEA 会从堆栈跟踪中将您带到测试中的失败行。 如果精确的行不在栈跟踪中, 您将被带到测试定义。
调试测试
使用 IntelliJ IDEA,您可以直接从编辑器快速开始调试单个 Mocha 测试,或者创建一个运行/调试配置来调试部分或全部测试。
从编辑器开始调试单个测试
请在要调试的测试旁边的装订区域设置断点。 您可以通过在 运行 工具窗口中双击它或按下 F4 跳转到失败的测试。
点击
或
,并从列表中选择 调试 <test_name>。
在 调试 工具窗口中,按常规操作: 逐步执行程序、 停止并恢复程序执行、 在挂起时检查程序、 查看实际的 HTML DOM、 在控制台中运行 JavaScript 代码片段等。

通过运行/调试配置启动测试调试
将断点设置在您要调试的测试旁边。 您可以通过在 运行 工具窗口中双击它或按下 F4 跳转到失败的测试。
创建一个 Mocha 运行/调试配置 如上所述。
从配置列表中选择 Mocha 运行 / 调试配置,然后在列表或工具栏上点击
 。
在打开的 Debug(调试)工具窗口 中,按常规操作: 逐步执行测试、 停止并恢复测试执行、 在挂起时检查测试、 在调试器控制台中运行 JavaScript 代码片段等。
监控代码覆盖率
使用 IntelliJ IDEA,您还可以监控代码中有多少部分 被 Mocha 测试覆盖。 IntelliJ IDEA 会在专用的 覆盖 工具窗口中显示此统计信息,并在编辑器和 项目 工具窗口 Alt+1 中以可视化方式标记已覆盖和未覆盖的行。 要监控覆盖率,您需要安装 nyc ,这是 Istanbul的命令行界面。
安装 nyc
在嵌入的 终端 (Alt+F12 )中输入:
npm install --save-dev nyc
运行测试并生成覆盖率报告
在 Docker 容器中使用 Node.js 运行 Mocha 测试
通过 IntelliJ IDEA,您可以在 Docker 容器中运行 Mocha 测试,其方式与本地运行相同。
开始之前
按照 从 JetBrains Marketplace 安装插件中的说明,在 设置 | 插件 页面、选项卡 Marketplace 上安装并启用 Node.js 远程解释器插件。
请确保 Node.js 和 Docker 必需插件已在 设置 | 插件 页的 已安装 选项卡上启用。 如需更多信息,请参阅 管理插件。
下载、安装并配置 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'。

