Введение в тестирование на Python
Alexander Levin
Data Scientist
Случай 2: тест ожидаемо завершается с ошибкой
Маркер теста — тег (метка) теста в библиотеке pytest
@pytest.mark:import pytest
def get_length(string):
return len(string)
# The test marker syntax
@pytest.mark.skip
def test_get_len():
assert get_length('123') == 3
@pytest.mark.skip — когда нужно пропустить тест в любом случае@pytest.mark.skipif — когда нужно пропустить тест при выполнении заданного условия (True)@pytest.mark.skip — когда тест нужно пропускать безусловно.import pytest
def get_length(string):
return len(string)
# The skip marker example
@pytest.mark.skip
def test_get_len():
assert get_length('123') == 3

@pytest.mark.skipif — когда тест нужно пропустить при выполнении заданного условия (True).import pytest
def get_length(string):
return len(string)
# The skipif marker example
@pytest.mark.skipif('2 * 2 == 5')
def test_get_len():
assert get_length('abc') == 3

@pytest.mark.xfail — когда ожидается, что тест завершится с ошибкойimport pytest
def gen_sequence(n):
return list(range(1, n+1))
# The xfail marker example
@pytest.mark.xfail
def test_gen_seq():
assert gen_sequence(-1)

Маркер теста:
pytest@pytest.mark.name_of_the_marker@pytest.mark.xfail@pytest.mark.skip@pytest.mark.skipifВведение в тестирование на Python