2012-01-09 19 views
5

मैं परीक्षण चलाने के लिए node.js और jasmine-node npm मॉड्यूल का उपयोग कर रहा हूं। यह कोड पूरी तरह से काम करता है सिवाय इसके कि कोड एक त्रुटि उत्पन्न करता है। मुझे कोई स्टैकट्रैक नहीं मिला। उदाहरण के लिए, मेरे परीक्षणों में से एक केवल इस आउटपुट:जैस्मीन-नोड त्रुटियों के लिए कोई स्टैक ट्रेस

Error: TypeError: Cannot read property 'length' of undefined

कोई स्टैक ट्रेस। इससे इन त्रुटियों को इतना समय लगता है कि मैं जैस्मीन-नोड के विकल्पों की तलाश में हूं।

त्रुटि के साथ पूर्ण स्टैक ट्रेस आउटपुट करने के लिए मैं जैस्मीन-नोड कैसे प्राप्त कर सकता हूं? --verbose कमांड लाइन झंडा यह नहीं करता है।

+0

यह संभवतः उपयोगी होगा यदि आप परीक्षण कोड का उदाहरण टुकड़ा पोस्ट कर सकते हैं जो कार्यान्वयन की एक प्रति के साथ टूट रहा है। –

+0

समस्या यह है कि इतना कोड है कि मुझे नहीं पता कि स्निपेट पोस्ट करने के लिए क्या है, क्योंकि कोई स्टैक ट्रेस नहीं है। – Jake

+0

यदि आपका कोड टीडीडी शैली है, तो कोड के किसी भी महत्वपूर्ण निकाय के लिए परीक्षणों की स्वस्थ संख्या होनी चाहिए। यह देखते हुए कि, आप एक समय में एक परीक्षण पर टिप्पणी कर सकते हैं जब तक कि आप समस्याग्रस्त कोड/परीक्षण –

उत्तर

4

जबकि मैंने जैस्मीन-नोड एनपीएम का उपयोग नहीं किया है, मैं पहले इस तरह की त्रुटि में आया हूं। मेरे अनुभव में, त्रुटियों के उन प्रकार के सूचना मिल जब अपने परीक्षण/impl के दायरे से बाहर एक async पाश में विफल रहता है ...

क्या हम उस तरह की सभी अपवादों को पकड़ने के लिए किया है निष्पादन

करने से पहले इस कोड को जोड़ना है
process.on('uncaughtException',function(e) { 
    sys.log("Caught unhandled exception: " + e); 
    sys.log(" ---> : " + e.stack); 
}); 
7

आप वैश्विक अपवादों में से स्टैक ट्रेस उत्पादन के लिए चमेली नोड के --captureExceptions विकल्प का उपयोग कर सकते हैं।

+1

को बाहर नहीं निकाल देते हैं, मैंने पाया है कि यह काम नहीं करता है। मैं आमतौर पर टेप का उपयोग करता हूं, और जैस्मीन तुलना में एक गड़बड़ है। यहां तक ​​कि नोड के निर्माण में भी पूरे काम पर बेहतर काम करते हैं। – Jehan

+0

यह मेरी मदद करता है। धन्यवाद! :) – rahmat