Pythonによるテスト入門
Alexander Levin
Data Scientist
ユースケース 2: このテストは失敗する想定
テストマーカー: pytest のテストに付けるタグ(マーカー)
@pytest.mark デコレータで始まります:import pytest
def get_length(string):
return len(string)
# テストマーカーの構文
@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)
# skip マーカーの例
@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)
# skipif マーカーの例
@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))
# xfail マーカーの例
@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によるテスト入門