pytest

2013-10-04 14 views
7

में लंबे तारों के छंटनी को रोकने से मैंने अपने कोड के सिस्टम परीक्षणों के लिए एक परीक्षण दोहन लिखा है। इन परीक्षणों का उपयोग हमारे निरंतर एकीकरण प्रणाली में किया जाता है, इसलिए मैं जूनिट एक्सएमएल आउटपुट विकल्प का उपयोग कर रहा हूं। Pytest द्वारा लंबे तारों का छंटनी मुझे समस्याएं पैदा कर रहा है। मुझे पता है कि मैं इसे -vv विकल्प का उपयोग करके रोक सकता हूं लेकिन फिर प्रत्येक टेस्ट के परिणामों के लिए वर्बोज़ आउटपुट देता है जो पढ़ने में मुश्किल होती है। अनिवार्य रूप से मैं कम से कम जूनिट xml फ़ाइल में लंबी स्ट्रिंग के छिड़काव को रोकने के लिए एक अलग तरीका चाहता हूं। अगर यह कंसोल आउटपुट में भी काम करता है, तो यह बेहतर होगा लेकिन आवश्यक नहीं होगा।pytest

हमारा कोड बड़ी संख्या में मूल्यों के साथ रिपोर्ट तैयार करता है और मैं आउटपुट की तुलना आउटपुट के सेट से सही होने के लिए करता हूं। मैं उन सभी फ़ील्ड की रिपोर्ट कर रहा हूं जो त्रुटि में हैं केवल पहली त्रुटि नहीं। तो मैं स्ट्रिंग की एक सूची प्रति स्ट्रिंग के साथ एक त्रुटि उत्पन्न कर रहा हूँ। मैं फिर एक लंबी स्ट्रिंग और लंबी स्ट्रिंग बनाने के लिए न्यूलाइन के साथ तारों में शामिल हो जाता हूं जिसमें सभी त्रुटियां होती हैं। अगर दावा विफल रहता है तो मुझे स्ट्रिंग की पूरी सामग्री देखने की आवश्यकता होती है जो कई सौ रेखाएं हो सकती है।

errors = [] 
error.extend(get_report_errors()) 
s = '\n'.join(errors) 
assert (s == '') 

कोई सुझाव

मैं अजगर 2.6 और 2.7 और pytest 2.3.5 का उपयोग कर रहा हूँ। मैं जरूरी चीज के संस्करण को अपग्रेड कर सकता हूं।

उत्तर

1

आप tb झंडा इस pytest के लिए ट्रैस बैक उत्पादन होता है उपयोग कर सकते हैं। इसके लिए कुछ विकल्प हैं: --tb=style traceback print mode (auto/long/short/line/native/no)

आपको चुनना होगा कि आपके लिए सबसे अच्छा क्या है।

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