以下のように@pytest.mark.parametrizeを使ってparameterized testができる。 テスト失敗したらその時のパラメータの値もログに出るし,便利。
testdata = [
(datetime(2001, 12, 12), datetime(2001, 12, 11), timedelta(1)),
(datetime(2001, 12, 11), datetime(2001, 12, 12), timedelta(-1)),
]
@pytest.mark.parametrize("a,b,expected", testdata)
def test_timedistance_v0(a, b, expected):
diff = a - b
assert diff == expected
参考: