테스트 실행가 정지 후 어설에 오류가 pytest

0

질문

를 위한 데이터 기반 테스트,이 있는 경우 10 데이터 세트,그리고 주장이 실패하에 대한 제 3 데이터로 설정,다음의 나머지 7 데이터 세트 간주되지 않습에 대한 실행 및 프로그램이 중지에서는 점니다. 내가 노력해 removeing 합을 올리는"e"라며 그 시간에 모든 데이터 집합으로 간주됩니다 실행하지만 끝에서,상태를 보여주는으로 전달되는 것이 절대적으로 올바르지 않 내가 필요로하는 보고서 실패에 대한 제 3 데이터를 설정합니다. 알려주시기 바랍 있을 경우 해결책에 대한 동일합니다.

가 다음 2 가지 방법이며,그것은 작동하지 않았습니다. 을 위한 첫 번째 중 하나,테스트 사례를 실행 10 10 데이터 집합을 하지만 후에도 오류를 위해 제 3 데이터 집합,테스트 실행 상태를 보여주는으로 전달되지 않는 올바른 테스트와 같은 경우 해야에서 실패하고 있습니다.

두 번째,하나의 테스트 실행가 정지 후 완전히 주장에서 실패 3dataset 및 나머지 데이터 세트는 고려되지 않습니다.

나의 목표는 실행하는 테스트 케이스에 대한 모든 데이터 세트를 한 번에 확인하고 다음에 대한 보고서는 모든 실패입니다.

        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 경우로 간주될 별도의 테스트 사례. 이 매개 변수화 설비 는 그림으로 올.

다음 예제를 살펴보십시오:

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ý
..................................................................................................................