Ви можете позначити тест за допомогою декораторів 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яка буде запускати лише цей тест і нічого іншого.