以下のように@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
参考: