Я обычно использую jsdom
, и в моем случае, так как я использую мокко, это выглядело бы так (используя jsdom-mocha ):
var jsdom = require('mocha-jsdom')
var expect = require('chai').expect
describe('mocha tests', function () {
jsdom()
it('has document', function () {
var div = document.createElement('div')
expect(div.nodeName).eql('DIV')
})
})
Однако, если вы могу себе это позволить (тесты, как правило, занимают немного больше времени), я бы порекомендовал изучить запуск ваших тестов в браузере без головы, используя что-то вроде Puppeteer .
Быстрый поиск в Google дал это для как запустить jest с кукловодом :
- Первая установка jest-puppeteer
yarn add --dev jest-puppeteer
Укажите пресет в конфигурации Jest:
{
"preset": "jest-puppeteer"
}
Напишите свой тест
describe('Google', () => {
beforeAll(async () => {
await page.goto('https://google.com');
});
it('should be titled "Google"', async () => {
await expect(page.title()).resolves.toMatch('Google');
});
});