测试¶
我们致力于保持 Electron 的代码覆盖率较高。我们要求所有拉取请求不仅通过所有现有测试,而且理想情况下还应添加新测试,以覆盖已更改的代码和新场景。确保尽可能多地捕获 Electron 的代码路径和使用场景,可以确保我们发布的软件拥有更少的 bug。
此仓库同时包含 JavaScript 和 C++ 的代码检查规则,以及单元测试和集成测试。要了解有关 Electron 编码风格的更多信息,请参阅 编码风格 文档。
代码检查¶
为确保你的更改符合 Electron 编码风格,请运行 npm run lint。该命令会根据你的更改涉及的代码区域,运行多种代码检查。
其中许多检查已包含在提交前钩子中,因此你的错误很可能在提交时就会被捕获。
单元测试¶
如果你没有使用 build-tools,请确保你为本地构建的 Electron 配置的名称是 Testing、Release、Default 之一,或者你已设置 process.env.ELECTRON_OUT_DIR。如果没有设置这些,Electron 将无法执行某些测试前步骤。
要运行所有单元测试,请运行 npm run test。单元测试是一个 Electron 应用(没错!),位于 spec 文件夹中。请注意,它有自己的 package.json,因此其依赖项未在顶层 package.json 中定义。
要仅运行匹配特定模式的测试,请运行 npm run test --
-g=PATTERN,将 PATTERN 替换为匹配你想要运行的测试的正则表达式。例如:如果你只想运行 IPC 测试,则运行 npm run test -- -g ipc。
Node.js 冒烟测试¶
如果你所做的更改可能会影响 Node.js 嵌入到 Electron 的方式,我们有一个测试运行器,它使用 Electron 的自定义 Node.js 分支运行 Node.js 的所有测试。
要运行所有 Node.js 测试:
要运行单个 Node.js 测试:
其中传递给运行器的参数是 Node.js 源代码树中测试的路径。
在 Windows 10 设备上测试¶
运行单元测试的额外步骤¶
- 必须安装 Visual Studio 2019。
- 必须为你的配置编译 Node 头文件。
- 必须将 electron.lib 复制为 node.lib。
缺失的字体¶
一些 Windows 10 设备 未预装 Meiryo 字体,这可能导致字体回退测试失败。要安装 Meiryo:
- 按下 Windows 键并搜索 管理可选功能。
- 点击 添加功能。
- 选择 日语补充字体 并点击 安装。
像素测量¶
一些依赖精确像素测量的测试可能由于浮点精度错误而无法在具有 Hi-DPI 屏幕设置的设备上正确工作。要正确运行这些测试,请确保设备设置为 100% 缩放。
要配置显示缩放:
- 按下 Windows 键并搜索 显示设置。
- 在 缩放和布局 下,确保设备设置为 100%。
多显示器测试¶
一些 Electron API 需要在多个显示器上进行测试,例如屏幕检测、窗口定位和显示相关事件。对于正在开发这些功能的贡献者,virtualDisplay 原生插件允许你以编程方式创建和定位虚拟显示器,从而无需任何物理硬件即可测试多显示器场景。
有关在测试中使用虚拟显示器的详细信息,请参阅 多显示器测试。
平台支持: 仅 macOS
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 el/electron