Экземпляр JSDOM
создается здесь всего с '<!DOCTYPE html>'
.
Таким образом, инициализация JSDOM с пользовательским HTML на самом деле невозможна со встроенным экземпляром JSDOM
, созданным в jest-environment-jsdom
.
Однако вы можете установить для document.body
все, что захотите:
test('change document body', () => {
document.body.innerHTML = '<p>Hello world</p>';
expect(document.body.innerHTML).toBe('<p>Hello world</p>'); // Success!
});
... и вы всегда можете запустить в среде node
и создать свой собственный экземпляр JSDOM
:
/**
* @jest-environment node
*/
const { JSDOM } = require("jsdom");
const { window } = new JSDOM('<!DOCTYPE html><p>Hello world</p>');
const { document } = window;
test('initialize JSDOM with custom HTML', () => {
expect(document.body.innerHTML).toBe('<p>Hello world</p>'); // Success!
});