के साथ एक प्रतिक्रिया घटक का नकल करने के लिए जेस्ट का उपयोग करना मेरे पास एक प्रतिक्रिया घटक है जिसमें कुछ अन्य घटक शामिल हैं जो रेडक्स स्टोर आदि तक पहुंच पर निर्भर करते हैं, जो पूर्ण एंजाइम माउंट करते समय समस्याएं पैदा करता है। के इस तरह की एक संरचना मान लीजिए:प्रोसेस
import ComponentToMock from './ComponentToMock';
<ComponentToTest>
...some stuff
<ComponentToMock testProp="This throws a warning" />
</ComponentToTest>
मैं जेस्ट के .mock()
विधि का उपयोग करने उप-घटक बाहर नकली करना चाहते हैं, इतना है कि यह परीक्षण के लिए एक चिंता का विषय नहीं है।
मुझे पता है कि मैं की तरह कुछ के साथ एक सीधी घटक बाहर नकली कर सकते हैं:
jest.mock('./ComponentToMock',() => 'ComponentToMock');
लेकिन, जैसा कि इस घटक सामान्य रूप से रंगमंच की सामग्री प्राप्त होगा, प्रतिक्रिया परेशान हो जाता है, अज्ञात रंगमंच की सामग्री के बारे में चेतावनी (दे रही है इस मामले में, testProp
) <ComponentToMock />
पर पारित किया जा रहा है।
मैंने इसके बजाए एक फ़ंक्शन वापस करने का प्रयास किया है, हालांकि आप जेएसएक्स (जिसे मैं बता सकता हूं) से जेस्ट मैक में वापस नहीं लौटा सकता है, क्योंकि इसे फहराया जा रहा है। यह इस मामले में एक त्रुटि फेंकता है।
तो मेरे सवाल का कैसे मैं या तो
क) यह करने के लिए पारित कर दिया रंगमंच की सामग्री की अनदेखी करने के ComponentToMock
, या
ख मिलता है) लौट सकते हैं एक घटक प्रतिक्रिया है कि बच्चे घटक है कि मैं उपहास करने के लिए इस्तेमाल किया जा सकता है मैं परीक्षण के बारे में चिंतित नहीं हूँ।
या ... क्या कोई बेहतर तरीका है?
मुझे इस बारे में बहुत परेशानी थी, लेकिन इसका उत्तर यहां दिया गया था: [SO प्रश्न] (https://stackoverflow.com/a/46080332/2884555) – EMC