'node' | 'jsdom' | 'happy-dom''node'--testEnvironment=nodeThe environment that will be used for testing.
The default environment in Rstest is a Node.js environment. If you are building a web application, you can use a browser-like environment through jsdom or happy-dom instead.
npx rstest --testEnvironment=jsdomRstest supports jsdom and happy-dom for mocking DOM and browser APIs.
If you want to enable DOM testing, you can use the following configuration:
import { defineConfig } from '@rstest/core';
export default defineConfig({
testEnvironment: 'jsdom', // or 'happy-dom'
});You also need to install the corresponding package:
For jsdom
npm add jsdom -DFor happy-dom
npm add happy-dom -DAfter enabling DOM testing, you can write tests that use browser APIs like document and window.
test('DOM test', () => {
document.body.innerHTML = '<p class="content">hello world</p>';
const paragraph = document.querySelector('.content');
expect(paragraph?.innerHTML).toBe('hello world');
});