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

您还可以在编辑器中查看测试是否通过或失败,由于装订区域的 测试状态图标
和
。

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

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

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

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

通过运行/调试配置启动测试调试
将断点设置在您要调试的测试旁边。 您可以通过双击 运行 工具窗口中的失败测试或按 F4 跳转到失败的测试。
创建一个 Mocha 运行/调试配置 如上所述。
从配置列表中选择 Mocha 运行 / 调试配置,然后在列表或工具栏上点击
 。
在打开的 调试工具窗口 中,按常规操作: 逐步执行程序, 停止并恢复 程序执行, 在挂起时检查程序 ,探索调用堆栈和变量,设置监视,评估变量, 查看实际 HTML DOM 等。
监控代码覆盖率
使用 PyCharm,您还可以监控代码中有多少部分 通过 Mocha 测试覆盖。 PyCharm 会在专用的 覆盖率 工具窗口中显示此统计信息,并在编辑器和 项目 工具窗口 Alt+1 中以可视化方式标记已覆盖和未覆盖的行。 要监控覆盖率,您需要安装 nyc ,这是 Istanbul的命令行界面。
安装 nyc
在嵌入的 终端 (Alt+F12 )中,输入:
npm install --save-dev nyc
运行测试并生成覆盖率报告
在 Docker 容器中使用 Node.js 运行 Mocha 测试
通过 PyCharm,您可以在 Docker 容器中运行 Mocha 测试,其方式与本地运行相同。
在开始之前
按照 Node.js 和 Node.js Remote Interpreter 中的描述,在 设置 | 插件 页面、选项卡 Marketplace 中安装 从 JetBrains Marketplace 安装插件。
请确保在设置中启用了 Docker 插件。 按下 Ctrl+Alt+S 打开设置,然后选择 。 点击 已安装 选项卡。 在搜索字段中输入 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'。
运行测试
根据 Mocha official website 的指示创建测试。
如同本地开发:直接从编辑器运行和调试单个测试,或者按照上面 运行测试 和 调试测试 中的描述创建一个运行/调试配置来启动部分或全部测试。


