2013-03-14 5 views
5

रेल अनुप्रयोग में मैं विकास कर रहा हूं (ओएस-एक्स पर), मुझे आरएसपीसी के माध्यम से तेजी से लॉकिंग के माध्यम से परीक्षण सूट चलाने में मिल रहा है। यह हर बार नहीं होता है। मैंने यह देखने के लिए सूट चलाते समय --format documentation जोड़ने का प्रयास किया है कि यह हर जगह एक ही स्थान पर होता है, और ऐसा नहीं होता है।रुपये की प्रक्रिया विभिन्न स्थानों पर लटकती है, प्रक्रिया को मार नहीं किया जा सकता है। निदान कैसे करें?

मैंने kill -9 के साथ प्रक्रिया को मारने का प्रयास किया है। इसके बाद ?E की प्रक्रिया स्थिति के साथ नाम (रूबी) में बदल जाता है। यह link बताता है कि सिस्टम कॉल समाप्त होने की प्रतीक्षा कर रहा है। इस प्रक्रिया को मारने के लिए हर बार जब यह होता है तो मुझे अपनी मशीन को पुनरारंभ करना होगा।

मैंने आरवीएम, रूबी, माइस्क्ल, और इमेजमैजिक को दोबारा स्थापित करने का प्रयास किया है। यह प्रोजेक्ट इमेजमैजिक (मिनी_मैजिक के माध्यम से) मणि का उपयोग कर रहा है, और मुझे संदेह है कि यह इन आदेशों में से एक हो सकता है जो rspec को अवरुद्ध कर रहा है। मैंने निष्पादन समाप्त करने के लिए सुनिश्चित करने के लिए प्रत्येक मिनी_मैजिक कमांड के चारों ओर puts कथन जोड़ने का प्रयास किया, और सभी ठीक दिखते हैं।

मैं इस मुद्दे का निदान कैसे करें इस पर सुझावों की तलाश में हूं।

+0

'-e' स्विच का उपयोग केवल आपके द्वारा दिए गए पैटर्न के आधार पर कुछ चश्मा चलाने के लिए करें। अधिक जानकारी के लिए 'rspec -h' चलाएं। – iain

+0

व्यक्तिगत चश्मे या चश्मे के एक छोटे से सबसेट (एकल फ़ाइल) चलाने पर समस्या उत्पन्न नहीं होती है, बल्कि पूरे परीक्षण सूट को चलाने के दौरान। मैं डीबग करने का एक तरीका ढूंढ रहा हूं कि प्रक्रिया किस पर अवरुद्ध है? – MAckerman

+0

मुझे लगता है कि आपको कम से कम अपने कुछ चश्मा पोस्ट करना होगा, कम से कम तब यह जानना संभव है कि वे क्या करने की कोशिश कर रहे हैं। साथ ही, जांचें कि आपकी चश्मा यादृच्छिक क्रम में नहीं चल रही हैं। यदि आपने spec_helper फ़ाइल उत्पन्न करने के लिए RSpec का उपयोग किया है तो यह डिफ़ॉल्ट के रूप में यादृच्छिक क्रम जोड़ता है। – iain

उत्तर

0

यह संभव है कि आपकी समस्या ऑर्डर-निर्भरता बग है, आप बीज को पास कर सकते हैं और ऑर्डर लगातार रहेगा। आरएसपीसी यादृच्छिक संख्या को प्रिंट करता है जो इसे यादृच्छिक रूप से बीज करने के लिए उपयोग किया जाता है। उसी क्रम के साथ rspec चलाने के लिए इस नंबर का उपयोग करें --order rand:3455

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