Прокрутка и Ширина в JSDOM не реализованы из-за отсутствия макета в JSDOM? - PullRequest
0 голосов
/ 28 декабря 2018

Я пытаюсь написать тестовый пример для компонента, который проверяет, вызвана ли функция, связанная с компонентом, если прокрутка запущена на объекте окна. Это , не использующая реагирующую среду , хотя я использую JESTкак мой тестовый фреймворк, который использует JSDOM, так как он очень хороший и быстрый.

Первая проблема - прокрутка вообще не запускается.Читайте об этом во многих проблемах с github, но безуспешно.

Вторая проблема заключается в том, что я установил ширину одного из элементов равной 1000 px, которая является элементом песочницы в jsdom с использованием jest.Но когда я добавляю еще один элемент под ним, который является результатом отрендеренного компонента, функция DOMElement getClientBoundingRect по-прежнему возвращает все нули.

пробовал пару вещей, которые не работали:

  1. global.document.dispatch (new Event ('scroll')) [это было сделано после настройки положения прокрутки]

  2. После рендеринга моего компонента, который содержит около 19 элементов liв нем [каждый элемент li имеет изображение размером 10px x 10px и заголовок], я пытаюсь проверить высоту моего компонента, чтобы прокрутить до этой позиции, но, к несчастью, все приближается к 0.

Есть ли другой способ протестировать или покрыть функцию, которая вызывается в window.scroll с использованием jsdom / jest, я не хочу использовать phantomjs.

...