Полный рендеринг фермента с помощью mount () и JqxWidgets выдает ошибку - PullRequest
0 голосов
/ 28 июня 2019

Я пытаюсь использовать Enzyme для полного DOM-тестирования компонента React (в TypeScript), который использует JqxComboBox, но как только я пытаюсь использовать full mount () вместо shallow (), он не загружаетсядолжным образом.Мне кажется, что jQWidgets не считает jsdom реальной веб-средой, поэтому он не загружается.Возможно, я неправильно настроил свои тесты, но у меня не создается впечатление, что jsdom должен быть таким хитрым.

Вот моя песочница с кодом, демонстрирующая проблему: https://codesandbox.io/s/jqwidgets-react-enzyme-testing-vrjvw

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

(PS. Я рассмотрел React Testing Library, но яне получить абсолютно никакого доступа к компонентам React с этой библиотекой, так как она «только для DOM или заблудилась», что не понравится сторонней библиотеке пользовательского интерфейса)

Точная ошибка, которую я получаю:

_this._jqx.generateID is not a function

TypeError: _this._jqx.generateID is not a function
    at new JqxComboBox
...