でテストをスキップする場合は、skip
とskipif
デコレータを使用してテストにマークを付けることができますpytest
。
テストをスキップする
@pytest.mark.skip(reason="no way of currently testing this")
def test_func_one():
...
テストをスキップする最も簡単な方法skip
は、オプションのに合格する可能性のあるデコレータでテストをマークすることですreason
。
pytest.skip(reason)
関数を呼び出すことにより、テストの実行中またはセットアップ中に命令的にスキップすることもできます。これは、インポート時にスキップ条件を評価できない場合に役立ちます。
def test_func_one():
if not valid_config():
pytest.skip("unsupported configuration")
条件に基づいてテストをスキップする
@pytest.mark.skipif(sys.version_info < (3, 6), reason="requires python3.6 or higher")
def test_func_one():
...
条件に基づいてスキップしたい場合は、skipif
代わりに使用できます。前の例では、Python3.6より前のインタープリターで実行すると、テスト関数はスキップされます。
最後に、失敗していることが確実であるためにテストをスキップする場合は、xfail
マーカーを使用して、テストが失敗することを予期していることを示すことも検討してください。
.skip
Mocha(Node.js)が持っているエレガントに似たものはありますか?it('tests something'...)
->it.skip('tests something'...)
その特定のテストを無効にします。また、その反対の便利な機能もあり.only
ます。これは、そのテストのみを実行し、他には何も実行しません。