web-dev-qa-db-fra.com

reactjs jest jQuery n'est pas défini

J'utilise jest pour tester mon composant reactJS. Dans mon composant reactJS, je dois utiliser l'interface utilisateur jquery, j'ai donc ajouté ceci dans le composant:

var jQuery = require('jquery');
require('jquery-ui/ui/core');
require('jquery-ui/ui/draggable');
require('jquery-ui/ui/resizable');

Et cela a bien fonctionné. Mais, maintenant, je dois utiliser jest pour faire des tests, mais je rencontre immédiatement ce problème lorsque je charge le composant dans testutils,

Test suite failed to run
ReferenceError: jQuery is not defined 

Quelqu'un a-t-il rencontré ce problème si vous utilisez jQuery dans votre application?

Merci

20
user3006967

Vous pouvez ajouter une dépendance jQuery dans votre objet global. Procédez comme suit

  1. Dans votre package.json, sous clé jest, ajoutez des fichiers de configuration comme celui-ci "setupFiles": ["test-env.js"]

  2. Où le contenu de test-env.js ressemble à ceci

    import $ from 'jquery'; global.$ = global.jQuery = $;

Assurez-vous que le chemin vers test-env est correct à partir de votre rootDir. rootDir est disponible dans Jest.

35
mdsAyubi