3

xfail としてマークされた py.test テスト関数があります。

@pytest.mark.xfail
def test_that_fails():
    assert 1 == 2

私の pytest_runtest_setup() フックでは、このテストを明示的にスキップします。

def pytest_runtest_setup (item):
    pytest.skip ('Skipping this test')

py.test を実行すると、テストが失敗したことが報告されます。

tests.py x

========================== 1 xfailed in 1.69 seconds ===========================

このテストがスキップされたと報告するように py.test を取得するにはどうすればよいですか?

「pytest_runtest_setup() フックでこのテストから xfail マーキングを削除するにはどうすればよいですか?」と尋ねているようです。

ありがとう。

4

1 に答える 1

1

バグレポートをありがとう:)

py.test がこれを xfail ではなく「スキップされた」テストとして報告することを期待するのは理にかなっていることに同意します。結局、テストがスキップされた場合、xfail-outcome (xfail/xpass) を決定することはできません。次のように入力してインストールできるこの問題を修正しました。

pip_install -i http://pypi.testrun.org -U pytest
# using easy_install is fine as well

これにより、「py.test --version」で 2.2.5.dev4 が取得され、問題が修正されます。これは、次の pypi リリースの一部になります。

于 2012-06-23T09:35:49.740 に答える