Python 測試入門
Alexander Levin
Data Scientist
情境 2:此測試預期會失敗
測試標記(test marker)-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.skipifPython 測試入門