2013-10-11 7 views
11

में विफल रहा है py.test assert docs कहनाpy.test: प्रारूप ज़ोर और प्रिंट कस्टम संदेश

... अगर आप इस तरह दावे से संदेश निर्दिष्ट करें:

assert a % 2 == 0, "value was odd, should be even"

तो कोई दावा आत्मनिरीक्षण स्थान लेता है और संदेश को ट्रेसबैक में दिखाया जाएगा।

पायथन के builtin unittest मॉड्यूल यह भी, जब तक अपने TestCase सेट longMessage = True करता है।

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

क्या py.test का अच्छा दावा आत्मनिरीक्षण और स्वरूपण प्राप्त करने और कस्टम संदेश प्रिंट करने का कोई तरीका है?

उत्तर

2

दावा अतिरिक्त जानकारी और वर्तमान में एक संदेश को सक्षम करने का कोई तरीका नहीं है। मुझे लगता है कि इसे जोड़ा जा सकता है लेकिन यह सुनिश्चित नहीं है कि कितना प्रयास आवश्यक है। अब तक यह मुद्दा मेरे ज्ञान में नहीं आया है। किसी समस्या को दर्ज करने के लिए स्वतंत्र महसूस करें या पुल अनुरोध आज़माएं। नोट, हालांकि, यदि आप एक कस्टम मानव-पठनीय संदेश लिखने के प्रयास से गुजरते हैं, तो आप शायद अभिव्यक्ति से कुछ रोचक मूल्य भी डाल सकते हैं।

+0

"आप शायद अभिव्यक्ति से कुछ रोचक मूल्य भी डाल सकते हैं" - निश्चित रूप से, लेकिन खुद को दोहराने की लागत पर, और मुझे अच्छा प्रारूपण नहीं मिलता है। वैसे भी, मैं [प्रोजेक्ट की बिटबकेट] (https://bitbucket.org/hpk42/pytest/) पर अनुसरण करूंगा। – Bluu

+0

मुझे py.test के लिए बिटबकेट पेज पर इसकी कोई चर्चा नहीं दिखाई गई। क्या यह कभी चर्चा हुई थी? –

+0

@ durden2.0 नहीं, यह मेरे रडार से गिर गया, क्योंकि मैं खुद को दोहराने के लिए बस गया (और थोड़ा कम अभिव्यक्तिपूर्ण आउटपुट)। – Bluu

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