परीक्षण निष्पादन बंद कर दिया जाता है के बाद एक दावे में त्रुटि pytest

0

सवाल

के लिए डेटा संचालित परीक्षण, अगर वहाँ 10 कर रहे हैं डेटा सेट के हैं, और अभिकथन के लिए विफल रहता है 3 डेटा सेट है, तो बाकी के 7 डेटा सेट नहीं कर रहे हैं माना जाता है के निष्पादन के लिए और इस कार्यक्रम को बंद कर दिया जाता है उस बिंदु पर पूरी तरह से. मैं करने की कोशिश की है द्वारा removeing के उठाने "ई" रेखा और उस समय सभी डेटा सेट पर विचार कर रहे हैं निष्पादन के लिए लेकिन अंत में, स्थिति दिखा रहा है, के रूप में पारित कर दिया है जो बिल्कुल सही नहीं है, मैं जरूरत के रूप में रिपोर्ट करने के लिए विफलता के लिए 3 डेटा सेट. कृपया मुझे पता है अगर आप किसी भी समाधान के लिए ही है ।

मैंने कोशिश की है के बाद 2 तरीकों, और यह काम नहीं किया. पहले एक के लिए, परीक्षण के मामले निष्पादित 10 गुना 10 के लिए डेटासेट लेकिन यहां तक कि एक विफलता के बाद 3 के लिए डाटासेट, परीक्षण के निष्पादन की स्थिति दिखा रहा है, के रूप में पारित कर दिया है, जो सही नहीं है के रूप में परीक्षण के मामले में किया जाना चाहिए में विफल रहा है की रिपोर्ट ।

एक दूसरे के लिए, परीक्षण के निष्पादन बंद कर दिया जाता है के बाद पूरी तरह से पुष्टि विफलता में 3 डेटासेट और शेष डेटा सेट नहीं कर रहे हैं माना जाता है के निष्पादन के लिए.

अपने लक्ष्य को निष्पादित करने के लिए परीक्षण के मामले के लिए सभी डेटा सेट में एक बार और फिर जांच की रिपोर्ट में किसी भी विफलता के लिए.

        try:
            assert len(json_response_plan) == 1
        except Exception:
            pytest.raises(Exception)


        try:
            assert len(json_response_plan) == 1
        except Exception as e:
            raise e
automated-tests pytest python
2021-11-24 05:12:42
1

सबसे अच्छा जवाब

1

pytest बंद हो जाएगा निष्पादन पर पहली असफलता के लिए एक दिए गए परीक्षण समारोह. जिसका अर्थ है, अगर आप 10 मामलों, लेकिन उन्हें पारित करने के लिए एक एकल परीक्षण समारोह (एक के लिए पाश के लिए, उदाहरण के लिए), यह बंद हो जाएगा पर पहली असफलता (यानी, अगले करने के लिए कूद परीक्षण समारोह, या बाहर निकलें कर रहे हैं अगर कोई और अधिक परीक्षण कार्यों). हल करने के लिए मानक तरीका है करने के लिए सुनिश्चित करें कि उन में से प्रत्येक के 10 मामलों में विचार किया जा के रूप में अलग-अलग मामलों का परीक्षण. यह है जहाँ parametrized जुड़नार तस्वीर में आते है ।

इस उदाहरण पर विचार करें:

def my_dataset():
    return range(5)  # return your datasets from here

@pytest.fixture(params=my_dataset())
def my_fixture(request):
    yield request.param  # this will `yield` each of the datasets individually, thereby, considering it as individual tests

def test_me(my_fixture):
    assert my_fixture < 4

$ pytest tests/test_me.py -vvv

tests/test_me.py::test_me[0] PASSED                                [ 20%]
tests/test_me.py::test_me[1] PASSED                                [ 40%]
tests/test_me.py::test_me[2] PASSED                                [ 60%]
tests/test_me.py::test_me[3] PASSED                                [ 80%]
tests/test_me.py::test_me[4] FAILED                                [100%]

================================ FAILURES ================================
_______________________________ test_me[4] _______________________________

my_fixture = 4

    def test_me(my_fixture):
>       assert my_fixture < 4
E       assert 4 < 4

tests/test_me.py:14: AssertionError
======================== short test summary info =========================
FAILED tests/test_me.py::test_me[4] - assert 4 < 4
====================== 1 failed, 4 passed in 0.19s =======================
2021-11-29 08:35:15

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में