Мой компонент React должен реагировать на событие resize
, для которого я использую jQuery, то есть:
//...
componentDidMount: function() {
$(window).on("resize", function);
}
//..
Однако это вызывает проблемы с моим тестом Jest, а именно:
- TypeError: Cannot read property 'on' of undefined
at RadiumEnhancer.React.createClass.componentDidMount (bundles/Opportunities/OpportunityPartial.jsx:21:14)
При прохождении теста кажется, что окно определено в шутливом тесте, но $(window)
, похоже, ничего не возвращает.
У меня сложилось впечатление, что Jest проверит API требуемого модуля (jQuery) для создания своего макета, но если я правильно понимаю проблему, кажется, что этого не происходит?
Я могу обойти это, не издеваясь над jQuery, но, очевидно, это не совсем предпочтительно.
beforeAll ( () => { window.jQuery = require( 'jquery' ); });
. Илиwindow.$
в вашем случае. - person Tim Malone   schedule 12.10.2017