2016-02-13 14 views
7

मैं इस घटक है:जेस्ट: मॉड्यूल के अंदर आवश्यक मॉड्यूल नहीं मिल सकता है परीक्षण किया जाना (सापेक्ष पथ)

import React from 'react'; 
import VideoTag from './VideoTag'; 
import JWPlayer from './JWPlayer'; 

class VideoWrapper extends React.Component { 
//... component code 
} 

कुछ तर्क के आधार पर वह (VideoTag या JWPlayer) के अंदर एक और घटक से प्रस्तुत होती है जब मैं परीक्षण करने की कोशिश यह एक हंसी फ़ाइल में मैं त्रुटि मिलती है:

मॉड्यूल './VideoTag'

तीन coponents समान निर्देशिका है कि में हैं नहीं खोजा जा सका कारण है कि यह वास्तव में काम करता है जब मैं इसे transpile और कार्रवाई में इसे देख एक ब्राउज़र में लेकिन जेस्ट की तरह दिखता है उन संबंधित पथ को हल करने में समस्या हो रही है, यह हंसी फ़ाइल है:

jest.dontMock('../src/shared/components/Video/VideoWrapper.jsx'); 

import React from 'react'; 
import ReactDOM from 'react-dom'; 
TestUtils from 'react-addons-test-utils'; 

import VideoWrapper from '../src/shared/components/Video/VideoWrapper.jsx'; 

describe('VideoWrapper tests',() => { 
    it('Render JWPlayer',() => { 

     let vWrapper = TestUtils.renderIntoDocument(
     < VideoWrapper model={model} /> 
); 

    }); 
}); 

त्रुटि लाइन पर है:

import VideoWrapper from '../src/shared/components/Video/VideoWrapper.jsx'; 

मैं कैसे बता हंसी कैसे संबंधित पथ को संभालने के लिए करते हैं?

"moduleFileExtensions": [ 
    "js", 
    "jsx" 
] 

उत्तर

9

समस्या पथ नहीं थे, यह केवल .js विस्तार के साथ मॉड्यूल की तलाश में गया था, यह हंसी विन्यास में .jsx जोड़ने के बाद काम किया इन दो विकल्पों के लिए कॉन्फ़िगरेशन जेस्ट का उपयोग करता है ['जेएस', 'जेएसएक्स', 'जेसन', 'नोड'] डिफ़ॉल्ट फ़ाइल एक्सटेंशन के रूप में। (जब तक आप विशेष रूप से किसी भी विकल्प को छोड़ना नहीं चाहते हैं)

1

आप में moduleFileExtensions जोड़ने की जरूरत नहीं है:

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