学习 Electron - 消息端口 Electron 消息端口 MessagePort 允许在不同上下文之间传递消息。 // renderer.js // 消息端口是成对创建的。 连接的一对消息端口 // 被称为通道。 const channel = new MessageChannel() // port1 和 port2 之间唯 2024-09-14 开发 #编程#工具#框架#javascript#typescript#软件开发#前端
学习 Electron - 流程模型 Electron 流程模型 浏览器的职责极其复杂,除显示页面内容这个主要职责外,还有其他比如管理标签页和加载第三方扩展等职责。 早期,浏览器用单进程处理这些功能,虽然标签页打开时的消耗较少,但是在一个网站发生问题时会影响到整个浏览器。 因此,Chrome 让每个标签页在自己的进程中渲染,从而限制单个 2024-09-14 开发 #编程#工具#框架#javascript#typescript#软件开发#前端
学习 Electron - 预加载脚本 Electron 预加载脚本 Electron 主进程是一个拥有完全操作系统访问权限的 Node 环境,除此之外,还能访问 Node 模块及所有通过 npm 安装的包。 出于安全考虑,渲染进程默认运行在页面而非 Node 中。 为将不同类型的进程桥架在一起,需要使用 预加载脚本。 BrowserWi 2024-09-14 编程 #编程#工具#框架#javascript#typescript#软件开发#前端
学习 Jest - 初步认识 Jest Jest 安装 npm install --save-dev jest or yarn add --dev jest 示例 // sum.js function sum(a, b) { return a + b } module.exports = sum // sum.test.js c 2024-09-14 编程 #编程#工具#测试#软件开发#配置
学习 Jest - 匹配值 匹配器 相等 test('2 + 2 = 4', () => { expect(2 + 2).toBe(4) }) // toBe 用于测试精确相等性 // 检查对象使用 toEqual // toEqual 会递归检查对象或数组的每个字段 test('object assignment 2024-09-14 测试 #编程#工具#测试#软件开发#配置
学习 Jest - Setup and Teardown Setup and Teardown 直接翻译过来就是安装和拆卸。 通常编写测试时需要预先进行一些配置工作,并在测试后进行相关整理,Jest 提供了相关帮助函数 重复设置 假设需要重复做很多测试,可使用 beforeEach 和 afterEach钩子 // beforeEach 和 afterE 2024-09-14 测试 #编程#工具#测试#软件开发#配置
学习 Jest - 异步测试 测试异步 Promise 可从测试中返回一个 Promise test('Async Get Data', () => { return AsyncGetData().then(data => { expect(data).toBe('Data') }) }) as 2024-09-14 编程 #编程#工具#测试#软件开发#配置
学习 Jest - Mock 模拟函数 允许除去函数实际实现,捕获对函数的调用以及在调用中传递的参数 使用 new 实例化时捕获构造函数的实例及允许在测试时模拟返回值 // 为提供的数组每个项提供回调 function forEach(items, callback) { for (let i = 0; i < item 2024-09-14 编程 #编程#工具#测试#软件开发#配置
学习 NightWatch - BDD 语法 BDD (行为驱动开发) 测试语法 NightWatch 的 BDD 接口提供了一下功能: describe() / context() test() / it() / specify() before() after() beforeEach() afterEach() 例子 // ts impo 2024-09-14 编程 #编程#工具#测试#软件开发#配置
学习 Jest - 快照 快照 将当前组件 完整 DOM 结构 保存 下次执行时,会比较两次的 DOM 结构 发生变化无法通过测试 import { mount } from '@vue/test-utils' import TestSnapshots from 'TestSnapshots.vue' describe(' 2024-09-14 编程 #编程#工具#测试#软件开发#配置