2017-12-06 55 views
10

में स्थानीय चर दिखाएं अब तक हम जेनकिंस के माध्यम से py.test पर कॉल करें।py.test: जेनकींस

एक परीक्षण में विफल रहता है, हम देखते हैं इस

Traceback (most recent call last): 
    File "/home/u/src/foo/bar/tests/test_x.py", line 36, in test_schema_migrations 
    errors, out)) 
AssertionError: Unknown output: ["Migrations for 'blue':", ...] 

की तरह सामान्य स्टैकट्रेस यह वास्तव में बहुत अच्छा होगा अगर मैं Django डिबग पेज में की तरह स्थानीय चर (https://djangobook.com/wp-content/uploads/figure2_3a.png देखें) देख सकता था।

.... लेकिन अगर वे उन्हें देखना चाहते हैं तो उन्हें केवल तभी दिखाना चाहिए। मुझे लगता है कि इसका मतलब है कि मुझे टेक्स्ट की तुलना में एक अलग प्रारूप की आवश्यकता है। शायद एचटीएमएल?

क्या इसे सक्षम करने का कोई तरीका है?

मैंने कभी भी टूल्री का उपयोग नहीं किया। लेकिन AFAIK यह स्थानीय चर के साथ अच्छा tracebacks प्रदर्शित कर सकते हैं।

+0

moidule 'cgitb' मदद कर सकता है - मॉड्यूल –

+0

@CharlesPehlivanian हां के शीर्ष पर' cgitb.enable (format = 'text', context = 12) डालें। यह काम कर सकता है। लेकिन यह डिफ़ॉल्ट इंप्रेशन bloat होगा। मैं कभी-कभी स्थानीय चर देखना चाहता हूं। अगर मैं उन्हें हमेशा देखता हूं, तो दैनिक काम थोड़ा कठिन हो जाता है ... – guettli

+0

djangobook पृष्ठ के रूप में एक ड्रॉपडाउन का उपयोग करने की तरह? सादा पाठ यह नहीं करेगा, यह नहीं पता कि इस तरह की सेवा मौजूद है ... –

उत्तर

7

उपयोग -l/--showlocals विकल्प:

pytest --showlocals # show local variables in tracebacks 
pytest -l   # show local variables (shortcut) 

उदाहरण:

def foo(): 
     a = 1 
>  assert 0 
E  assert 0 

a   = 1 

test_foo.py:8: AssertionError 

more details in the doc देखते हैं।

+0

मैं कभी-कभी स्थानीय चर देखना चाहता हूं। अगर मैं उन्हें हमेशा देखता हूं, तो दैनिक काम थोड़ा कठिन हो जाता है .. – guettli

+1

ठीक है, लेकिन मेरे पास मेरे सभी सीआई के लिए यह विकल्प है, जो बहुत उपयोगी है। – georgexsh

+0

@guettli, इसे या तो कैद किया जा सकता है या यह नहीं हो सकता है। परीक्षण चलाने से पहले कभी-कभी कुछ कॉन्फ़िगरेशन किए बिना किसी को परिभाषित कैसे किया जाएगा? –