Pytest-xfail-skip-tests
提供:Dev Guides
Pytest-Xfail/Skipテスト
この章では、PytestのSkipおよびXfailテストについて学習します。
今、以下の状況を考慮してください-
- 何らかの理由により、テストはしばらくの間関連性がありません。
- 新しい機能が実装されており、その機能のテストが既に追加されています。
これらの状況では、テストをxfailするか、テストをスキップするオプションがあります。
Pytestはxfailedテストを実行しますが、一部のテストが失敗または合格したとは見なされません。 これらのテストの詳細は、テストが失敗しても印刷されません(通常、pytestは失敗したテストの詳細を印刷することに注意してください)。 私たちは次のマーカーを使用してテストをxfailすることができます-
@pytest.mark.xfail
テストをスキップすると、テストは実行されません。 次のマーカーを使用してテストをスキップできます-
@pytest.mark.skip
後で、テストが適切になったら、マーカーを削除できます。
既にxfailとskipマーカーを含める必要がある test_compare.py を編集します-
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
============================