LWC घटक - अलगाव में घटक वर्ग विधियों का परीक्षण कैसे करें?
क्या एक वर्ग में विधियों का परीक्षण करना संभव है LightningElement
जो अलगाव में (उदाहरण के लिए एक LWC घटक) है?
दूसरे शब्दों में, मुझे लगता है कि केवल घटक वर्ग का उपयोग कर के एक उदाहरण बनाने के लिए अधिक समय प्रभावी होगा new MyComponent()
और फिर आवृत्ति विधियों का परीक्षण करें। दूसरे शब्दों में, मानक-सादे जावास्क्रिप्ट यूनिट परीक्षण, बजाय DOM-level परीक्षण।
ऐसा नहीं है कि मुझे DOM-level परीक्षणों में मूल्य नहीं दिखता है, लेकिन LWC घटकों में बहुत से तर्क DOM से संबंधित नहीं हैं, और DOM के माध्यम से इसका परीक्षण करना बोझिल है।
क्या यह किसी गैर-डोम तर्क को उस वर्ग में रखने की बात है जो तब घटक में आयात किया जाता है?
धन्यवाद।
जवाब
जैसा कि पोस्ट के अंत में उल्लेख किया गया है, आपकी सबसे अच्छी शर्त उस तर्क को एक अलग फ़ाइल में बाहर निकालना और इसे अपने घटक के साथ-साथ सीधे एक इकाई परीक्षण में आयात करना होगा।
Lwc-recpies परियोजना में इसका एक अच्छा उदाहरण बंधक होगा। जेएस लाइब्रेरी जिसमें यह स्वयं के परीक्षण हैं (कोई घटक शामिल नहीं है), और उपयोग के लिए miscSaredJavascript घटक में आयात किया गया है । MiscSaredJavascript परीक्षण के बाद अगर वे चाहें तो बंधक कॉल का मजाक उड़ा सकते हैं।
उपरोक्त उदाहरण के साथ भी ध्यान दें कि घटक से निकाला गया तर्क एक अलग फ़ोल्डर में होने की आवश्यकता नहीं है और घटक बंडल में एक स्थानीय जावास्क्रिप्ट फ़ाइल हो सकती है।
विशेष रूप से भारी एलडब्ल्यूसी में, मैंने helper.js
घटक बंडल में एक अलग फ़ाइल में गैर-डोम तर्क को बाहर निकाला , जिसे मैंने सीधे जेस्ट के साथ परीक्षण किया।
यह StackExchange उत्तर बताता है कि मैंने फ़ाइल कहाँ रखी है और मैंने इसे मुख्य घटक वर्ग में कैसे मोड़ दिया है।