У меня есть Реагировать компонент, который использует селектор JQuery, чтобы соответствовать высоте всех компонентов в componentDidMount():Как я могу запускать тесты на компонентах React, которые используют jQuery?
$('.js-matchHeight').matchHeight();
Прекрасно работает при работе серверов, как WebPack, но когда я пишу свои функции (мокко и Chai), он жалуется:
ReferenceError: $ is not defined
Как добавить jQuery в свои тесты?
Спасибо @marcinrek! Я пробовал, но не работал. Я думаю, что браузерEnv не добавляет jQuery. Я также не могу импортировать jQuery в свой test.jsx, поскольку тестируемый компонент нуждается в jQuery, а не в тесте. –
browserEnv не добавляет jQuery, но должен позволить вам добавить его. Я предполагаю, что вы не помещаете jQuery в свой комплект, поэтому он не определен. Если вы добавите его в свой компонент без browserEnv, это не сработает, как и окно jQuery, документ и т. Д. Вот почему я предложил добавить его - извините за то, что он не стал более понятным. Я знаю, что у меня это работает, но у меня нет доступа к этому репо из дома, поэтому, если никто не ответит до завтра, я еще раз посмотрю :) – marcinrek
и если вы не тестируете что-то, что делает jQuery, вы всегда можете использовать грязный обходной путь вроде if (typeof (jQuery)! == 'undefined') {$ ('. js-matchHeight'). matchHeight(); } – marcinrek