Я хочу выполнить модульное тестирование кода веб-интерфейса, который не использует экспорт. Мне сказали , что Rewire.js - это способ сделать это.Я также хочу использовать Jest для этого, но если есть альтернативы, которые, как известно, работают, я открыт для предложений.
Моя установка выглядит следующим образом:
frontend.js
let dateInput = document.getElementById('date');
// Other code that I want to test
frontend.test.js
const rewire = require('rewire');
const { JSDOM } = require("jsdom");
beforeAll(() => {
const { document } = (new JSDOM(`...`)).window;
global.document = document;
});
test('script initializes', () => {
let frontend = rewire('../src/frontend.js');
});
К сожалению, при запуске с npx jest
это ошибкиout:
TypeError: Cannot read property 'getElementById' of undefined
Судя по всему, Rewire.js не обращает внимания на глобальный document
, который я определил.Как я могу заставить его работать или какие другие инструменты я могу использовать для достижения того же?