के भीतर परीक्षण विफल रहा है, मैं एक अंतःविषय परीक्षण विफलता डीबग कर रहा हूं। यदि कोई परीक्षण विफल हुआ तो इस उद्देश्य के लिए मैं बहुत सारी डीबग जानकारी डंप करना चाहता हूं। डंपिंग डिबग सामान काफी धीमी प्रक्रिया है जो बहुत सारे डेटा उत्पन्न करता है, इसलिए मैं प्रत्येक परीक्षण के लिए ऐसा नहीं करना चाहता हूं।पता लगाएं कि परीक्षण
मैं pytest और उपज autouse स्थिरता का उपयोग कर रहा महान
@pytest.yield_fixture(scope="function", autouse=True)
def dump_on_failue(request):
prepare_debug_dump()
yield
if test_failed(request):
debug_dump()
समस्या काम करना चाहिए कि मैं समझ नहीं मैं कैसे पता नहीं लगा पाते कि परीक्षण में नाकाम रही है या नहीं है। वहाँ a questions already और यहां तक कि ध्यान दें on pytest website था:
if request.node.rep_setup.failed:
print ("setting up a test failed!", request.node.nodeid)
elif request.node.rep_setup.passed:
if request.node.rep_call.failed:
print ("executing test failed", request.node.nodeid)
दुर्भाग्य से इस कोड अब और काम नहीं करता। नोड ऑब्जेक्ट में कोई rep_setup और rep_calls प्रतीकों नहीं हैं। मैंने अनुरोध और नोड ऑब्जेक्ट खोदने की कोशिश की, लेकिन कोई भाग्य नहीं।
कोई भी जानता है कि परीक्षण कैसे विफल हुआ है या नहीं?
आपके द्वारा सूचीबद्ध उदाहरण में 'pytest_runtest_makereport' हुक * उन * rep_ *' विशेषताओं को जोड़ता है। क्या आप वाकई इसे जोड़ चुके हैं? –