2013-09-03 8 views
9

के साथ जैस्मीन परीक्षण डिबगिंग How do you debug Jasmine tests with Resharper? इसी तरह के प्रश्न को पहले से ही पूछा गया था वास्तव में मेरे लिए काम नहीं करता है (टेस्ट कोड में debugger; रखें)। प्रत्येक बार परीक्षण चलाए जाने पर, एक नई ब्राउज़र विंडो खुलती है और डीबगर के माध्यम से थ्रेड कूदता है। क्या इसे काम करने का कोई तरीका है? और प्रेत धावक और रिशेर्पर के साथ जैस्मीन परीक्षणों को डीबग करने का कोई तरीका भी है?रिशेर्पर और प्रेत जेएस

अग्रिम

+0

क्या आपने मेरे [वैकल्पिक समाधान] (http://stackoverflow.com/a/17087589/498197) को आजमाया है जहां आप ब्राउज़र में डिबगिंग करते हैं। हालांकि, प्रेत के साथ डीबग कैसे करें पता नहीं है। –

+0

हाय, Torbjörn, हाँ वास्तव में काम करता है! आप इस टिप्पणी को एक उत्तर के रूप में जोड़ सकते हैं, इसलिए मैं इसे चिह्नित कर सकता हूं) – Voice

उत्तर

12

धन्यवाद ब्राउज़र में डिबग के लिए, अपने js परीक्षण फाइल करने के लिए नीचे दिए गए कोड जोड़ें।

jasmine.getEnv().currentRunner_.finishCallback = function() {}; 

Resharper सूचित नहीं किया जाएगा कि परीक्षण समाप्त हो गया है तो हम खोला ब्राउज़र (मैं क्रोम का उपयोग करें) और F5 पेज में डिबग breakpoints सेट कर सकते हैं।

जब आप पूरा कर लें तो resharper testrunner विंडो में परीक्षण रोकें।

संपादित करें:
जैस्मीन 2.0 के बाद से आप का उपयोग करने की आवश्यकता है:

ReSharperReporter.prototype.jasmineDone = function() { }; 
+1

यह अच्छा है, लेकिन उत्तर क्रोम के लिए है, न कि फ़ैंटॉमजेएस – zumalifeguard

+0

के लिए, यदि परीक्षण टाइपस्क्रिप्ट फ़ाइलों में हैं, तो आपको पहुंचने में त्रुटि मिलेगी 'ReSharperReporter' वैश्विक चर। इस तरह के सिंटैक्स का उपयोग करने के लिए एक काम है: 'विंडो [' रीशेपर रिपोर्टर ']। प्रोटोटाइप.जास्मीन डोन = फ़ंक्शन() {}; ' – zumalifeguard

+0

बहुत धन्यवाद, मुझे यह महीना पहले मिल गया था जब मैं चारों ओर काम करने के तरीके को समझने में दिन बिताता हूं यह। –

0

मैं डिबगर मिला, ReSharper विकल्पों में अपने परीक्षण ब्राउज़र के रूप में IE 11 सेट करके काम करने के लिए। अच्छी बात यह है कि आप कोड के विजुअल स्टूडियो संस्करण में अपने ब्रेकपॉइंट्स सेट कर सकते हैं और विजुअल स्टूडियो का उपयोग करके सेट और डीबग कर सकते हैं। आपको वास्तव में ब्राउज़र से बातचीत करने की आवश्यकता नहीं है।

1

जेसन का जवाब वास्तव में सहायक था। लेकिन मैं यह जोड़ना चाहता हूं कि आपको आईई में स्क्रिप्ट डिबगिंग सक्षम करना है: इंटरनेट विकल्प -> उन्नत -> अनचेक करें 'स्क्रिप्ट डिबगिंग अक्षम करें (इंटरनेटेड एक्सप्लोरर)'।
फिर आप अपने जेएस में डीबगर डाल सकते हैं और यह 'विजुअल स्टूडियो जस्ट-इन-टाइम डीबगर' पॉपअप बढ़ाएगा।

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