pytest mock で実行ごとに値を変更する
pytest mock で実行ごとに値をを変えるには、side_effect
を使う。次の例では、some_module.some_func
が呼び出されるたびに、1
, 2
, 3
を返すように設定している。
| def test_some(mocker):
mocker.patch('some_module.some_func', side_effect=[1, 2, 3])
assert some_module.some_func() == 1
assert some_module.some_func() == 2
assert some_module.some_func() == 3
|