2017-01-25 8 views
9

मैं अपने प्रतिक्रिया जेएस घटक का परीक्षण करने के लिए जेस्ट का उपयोग कर रहा हूं। मेरी reactJS घटक में, मैं jQuery UI का उपयोग करने की जरूरत है, तो मैं घटक में यह कहा:प्रतिक्रिया jest jQuery को परिभाषित नहीं किया गया है

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

और यह ठीक काम किया। लेकिन, अब, मैं हंसी का इस्तेमाल किया करने के लिए परीक्षण करने की जरूरत है, लेकिन मैं इस मामले की तुरंत पूरा जब मैं testutils में घटक लोड,

Test suite failed to run 
ReferenceError: jQuery is not defined 

किसी को भी यदि आपको अपने ऐप में jQuery का उपयोग कर रहे इस मुद्दे से मुलाकात की है?

धन्यवाद

+0

http://stackoverflow.com/questions/41800122/uncaught-referenceerror-jquery-is-not-defined-with-create-react-app/ –

+0

के संभावित डुप्लिकेट क्या आपने 'विंडो की कोशिश की है। $ = आवश्यकता (' jQuery '); '? – Tholle

उत्तर

18

आप अपने वैश्विक ऑब्जेक्ट में jQuery निर्भरता जोड़ सकते हैं। निम्नलिखित

  1. अपने package.json में करते हैं, हंसी कुंजी के अंतर्गत इस "setupFiles": ["test-env.js"]

  2. तरह setupFiles जोड़ने कहाँ परीक्षण env.js पर सामग्री इस

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

  3. की तरह लग रहे

सुनिश्चित करें कि test-env का पथ आपके रूटडियर से सही है। रूट डीर जेस्ट में उपलब्ध है।

+0

यह उत्तर मेरे लिए किसी अन्य से बेहतर काम करता है। बस rootDir पर एक नोट, यह इस प्रकार के रूप में इस्तेमाल किया जा सकता है: "हंसी":: { ... "setupFiles": [ "" /test-env.js " मेरी हंसी सेटअप folowing की तरह दिखाई देता /test-env.js "] } –

संबंधित मुद्दे