Pytest-Xfail / Skip 테스트
이 장에서는 Pytest의 Skip 및 Xfail 테스트에 대해 알아 봅니다.
이제 아래 상황을 고려하십시오.
- 어떤 이유로 인해 테스트는 한동안 관련이 없습니다.
- 새로운 기능이 구현되고 있으며 이미 해당 기능에 대한 테스트를 추가했습니다.
이러한 상황에서 테스트를 xfail하거나 건너 뛸 수있는 옵션이 있습니다.
Pytest는 xfailed 테스트를 실행하지만 일부 실패하거나 통과 한 테스트로 간주되지 않습니다. 테스트가 실패하더라도이 테스트의 세부 사항은 인쇄되지 않습니다 (pytest는 일반적으로 실패한 테스트 세부 사항을 인쇄 함을 기억하십시오). 다음 마커를 사용하여 테스트를 xfail 할 수 있습니다.
@pytest.mark.xfail
테스트를 건너 뛰면 테스트가 실행되지 않습니다. 다음 마커를 사용하여 테스트를 건너 뛸 수 있습니다.
@pytest.mark.skip
나중에 테스트가 적절 해지면 마커를 제거 할 수 있습니다.
편집 test_compare.py 이미 xfail을 포함하고 마커를 건너 뛰어야합니다.
import pytest
@pytest.mark.xfail
@pytest.mark.great
def test_greater():
num = 100
assert num > 100
@pytest.mark.xfail
@pytest.mark.great
def test_greater_equal():
num = 100
assert num >= 100
@pytest.mark.skip
@pytest.mark.others
def test_less():
num = 100
assert num < 200
다음 명령을 사용하여 테스트를 실행하십시오-
pytest test_compare.py -v
실행시 위의 명령은 다음과 같은 결과를 생성합니다.
test_compare.py::test_greater xfail
test_compare.py::test_greater_equal XPASS
test_compare.py::test_less SKIPPED
============================ 1 skipped, 1 xfailed, 1 xpassed in 0.06 seconds
============================