Невозможно успешно написать jest test для прослушивателя событий в моей точке входа в веб-пакет - PullRequest
0 голосов
/ 23 января 2020

Я изо всех сил пытаюсь понять, почему один из моих тестов в Jest не проходит.

сам тест состоит просто в том, чтобы посмотреть, смогу ли я заставить работать любой тест, нацеленный на функцию, экспортируемую из моей точки входа в веб-пакет, так что я выбрал самый простой из подходящих мне подходящих. странно, что тест проходит до тех пор, пока не будет вызвана функция, которую я определил в моей точке входа в веб-пакет (которая присоединяет прослушиватель событий к элементу, переданному в качестве аргумента).

однако если функция вызывается с переданным в нее элементом, тест завершается ошибкой ссылки. Я включил ссылку на мой репозиторий, все, что вам нужно сделать, это npm установить и затем npm test, чтобы увидеть прохождение тестов, затем go в src / client / index. js и раскомментировать последняя строка кода внизу, которая включает прослушиватель событий, и вы получите то же сообщение об ошибке, которое я получаю.

enter image description here

I ' Я совершенно потерян. У меня возникает ощущение, что мне нужно сделать что-то большее, чем я, чтобы настроить среду jsdom, но для своей жизни я не могу точно понять, что это такое. Проект, над которым я работаю, является частью моей курсовой работы по Udacity, так что вы могли бы подумать, что они включили бы несколько видео о том, как настроить шутку с помощью веб-пакета, но ничего. наставники студентов, которых они предоставляют, даже не использовали шутки, поэтому они не смогли помочь мне больше, чем указав мне на документы, которые я уже читал.

РЕДАКТИРОВАТЬ: я пытался вручную добавить элемент в JSDOM, как в:


const element = document.createElement('div');
element.id = 'results';
document.body.appendChild(element);


, но я все еще получаю ту же ошибку ссылки.

1 Ответ

0 голосов
/ 23 января 2020

Я понял это с помощью одного из наставников в Udacity.

Мне не удалось понять, что код глобального уровня выполняется при импорте в файл. Кроме того, я создавал элементы dom, которые мне были необходимы для правильного существования в моем тесте в jsDOM, но мне нужно было, чтобы этот код появлялся до того, как потребовалась функция, которую я хотел протестировать, в моем файле .spe c. js.

Проблема решена.

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