In your package.json
, or jest.config.js
/jest.config.ts
文件,更改值testEnvironment
财产给jsdom
.
package.json
"jest":{
"testEnvironment": "jsdom"
}
jest.config.[js|ts]
module.exports = {
"testEnvironment": "jsdom"
}
玩笑的重要说明>28
如果您使用 jest 28,则需要安装jest-environment-jsdom
分别由以下任一者:
npm: npm i jest-environment-jsdom --save-dev
yarn: yarn add -D jest-environment-jsdom
Why?
默认情况下,jest 使用node
测试环境。这本质上使得针对浏览器环境的任何测试都无效。
jsdom
是浏览器环境的实现,支持这些类型的 UI 测试。
对于 Jest 版本 28 及更高版本,jest-environment-jsdom
已从默认值中删除jest
安装以减小封装尺寸。
补充阅读
jest test环境文档 https://jestjs.io/docs/configuration#testenvironment-string
Jest 28 重大变更 https://jestjs.io/blog/2022/04/25/jest-28#breaking-changes