testEnvironment
- 类型:
'node' | 'jsdom' | 'happy-dom' | { name: EnvironmentName, options?: EnvironmentOptions } - 默认值:
'node' - CLI:
--testEnvironment=node
测试时所使用的环境。
Rstest 默认使用 Node.js 作为测试环境。如果你在开发 Web 应用,可以使用类浏览器环境,如 jsdom 或 happy-dom。
DOM 测试
Rstest 支持使用 jsdom 和 happy-dom 来模拟 DOM 和浏览器 API。
如果你想启用 DOM 测试,可以使用如下配置:
rstest.config.ts
你还需要安装对应的包:
使用 jsdom
使用 happy-dom
启用 DOM 测试后,你可以在测试用例中使用 document 和 window 等浏览器 API。
环境选项
你也可以为测试环境传递选项。这对于配置 jsdom 或 happy-dom 非常有用。例如,你可以为 jsdom 设置 url:
rstest.config.ts
options 对象会直接传递给环境的构造函数。
- 对于
jsdom,它会传递给JSDOM构造函数。你可以在 jsdom 文档中找到可用的选项。 - 对于
happy-dom,它会传递给Window构造函数。你可以在 happy-dom 文档中找到可用的选项。
环境注释
你可以在测试文件顶部附近添加环境注释,为单个测试文件覆盖测试环境:
example.test.ts
使用 @rstest-environment-options 可以为当前文件传递环境选项。选项必须是单行 JSON 对象:
example.test.ts
Rstest 也识别 @vitest-environment 和 @jest-environment 别名,以及它们对应的 -options 变体,方便从 Vitest 或 Jest 迁移。
环境注释支持 Node runner 内置环境:node、jsdom 和 happy-dom。它不会应用到 browser mode。如果大多数文件使用同一个环境,建议优先在 rstest.config.ts 中配置 testEnvironment 或拆分 projects。