Вы можете отметить тест с 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
он запускает только этот тест и ничего больше.