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