Use Happy DOM as environment in Jest.
npm install @happy-dom/jest-environmentThis package makes it possible to use Happy DOM with Jest.
``bash`
npm install @jest/environment @jest/fake-timers @jest/types @jest/mock @jest/util @happy-dom/jest-environment --save-dev
You will find the documentation in the Happy DOM Wiki under Jest Environment.
Jest uses node as test environment by default. In order to tell Jest to use a different environment we will either have to set a CLI attribute, define it in "package.json" or add a property to your Jest config file.
When calling the "jest" command, add --env=@happy-dom/jest-environment as an attribute.
`bash`
jest --env=@happy-dom/jest-environment
It is possible to add your Jest config to your package.json.
`json`
{
"jest": {
"testEnvironment": "@happy-dom/jest-environment"
}
}
When using a Jest config file (usually jest.config.js), add the snippet below to it.
`json`
{
"testEnvironment": "@happy-dom/jest-environment"
}
It is possible to send in Happy DOM Browser Settings as environment options to Jest.
`json``
{
"testEnvironment": "@happy-dom/jest-environment",
"testEnvironmentOptions": {
"url": "http://localhost",
"width": 1920,
"height": 1080,
"settings": {
"navigator": {
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
}
}
}
}
Documentation | Getting Started | Setup as Test Environment | GitHub