Skip to main content
使用 Happy DOM 配合 Bun 的测试运行器编写浏览器测试。Happy DOM 实现了浏览器 API(如 documentlocation)的模拟版本。
安装 @happy-dom/global-registrator
terminal

该模块导出了一个”注册器”,它将模拟的浏览器 API 注入到全局作用域中。
happydom.ts

此文件需要在任何测试文件之前运行。这正是 Bun 内置的 preload 选项的工作。在项目根目录创建 bunfig.toml 文件(如果尚不存在)并添加以下行。 ./happydom.ts 文件应包含上一步中的注册代码。
bunfig.toml

现在 bun test 会在测试文件之前执行 happydom.ts,这样你就可以编写使用浏览器 API 的测试了。
dom.test.ts

注册了 Happy DOM 后,测试通过。
terminal

参见 Happy DOM 仓库DOM 测试