Как вы используете jQuery?
Я имею в виду, вы использовали его с помощью npm или пряжи?Чтобы смоделировать node_modules, вы можете перейти по этой ссылке: https://jestjs.io/docs/en/manual-mocks#mocking-node-modules
В противном случае вам придется создать ручной макет.Вы можете посмотреть, как это сделать, здесь: https://jestjs.io/docs/en/manual-mocks
Обновлено:
Самый простой способ - это переопределить его, установив тест по методу beforeXXX
.
Вы можете просто поместить что-то вроде window.JQuery = jest.fn();
, это самый простой макет за всю историю, но вам придется создавать методы, такие как animate
и другие методы, связанные с jquery.
Подуматьздесь и обращаясь к вашей функции, если вы дразните jQuery, что еще осталось проверить?
Если вы дразните, вы будете проверять, выполняет ли ваш fn шаги, которые вы определили здесь.Например, проверить, был ли jQuery fn вызван с классом .has-error
или animate
получил правильные параметры.
Этот вид теста вам совсем не помогает, он просто проверяет, следует ли строка за строкойваш алгоритм.Проблема здесь в том, что вы могли бы сделать некоторые рефакторинги, такие как изменение имени класса .has-error
или метода animate другим улучшенным.
Что вам действительно нужно изменить, если он делает в конце то, что должен делать.Отображение div или что-то, что должно отображаться.Если вы проверите это, независимо от способа рефакторинга вашего кода, тест проверит, работает ли окончательное решение и что это имеет значение.
Был ли я ясен?Английский не мой родной язык, поэтому он может немного сбивать с толку