pytest-rerunfailures : 실패한 테스트 재수행

sangyeon217·2021년 11월 16일
0

Pytest

목록 보기
9/10
post-thumbnail

Pytest의 유용한 플러그인을 정리한 포스팅 입니다.
1. pytest-xdist : 테스트 병렬 수행
2. pytest-html : 테스트 결과 HTML 리포트로 출력
3. pytest-testrail : 테스트 결과 TestRail로 전송
4. pytest-rerunfailures : 실패한 테스트 재수행 (현재 글)

자동화로 E2E 테스트를 진행하다 보면, 실제 Fail이 아님에도 간헐적으로 테스트 결과가 Fail이 나오는 경우가 있습니다. 그런 경우, pytest-rerunfailures 플러그인을 통해 실패한 테스트를 재수행할 최대 횟수를 설정하여 재수행할 수 있습니다.

설치

$ pip install pytest-rerunfailures

예시

아래 예시 코드는 테스트 결과가 랜덤으로 Fail되며, 테스트 실패 시 대기시간 2초, 최대 5회 재수행되도록 설정된 코드입니다.

@pytest.mark.flaky(reruns=5, reruns_delay=2)
def test_example():
    import random
    assert random.choice([True, False])

실행 결과

테스트가 3번의 Fail이 발생되고, 4번째 수행 시 Pass 되어 1 Passed, 3 Rerun으로 테스트 결과를 확인할 수 있었습니다.

Reference

https://pypi.org/project/pytest-rerunfailures/

profile
I'm a constant learner. "Long Learn for Long Run!"

0개의 댓글