Как использовать Jest с Rewire.js? - PullRequest
0 голосов
/ 19 октября 2018

Я хочу выполнить модульное тестирование кода веб-интерфейса, который не использует экспорт. Мне сказали , что 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, который я определил.Как я могу заставить его работать или какие другие инструменты я могу использовать для достижения того же?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...