pythonのテストでmockを使う
pytest
固定値を返却させたい場合
mockerを使う場合はpytest-mockをインストールしておく必要がある
import numpy as np def get_rand(): return np.random.randint(0, 100) def test_random(mocker): mocker.patch("numpy.random.randint", return_value=55) assert get_rand() == 55
特定の値を順番に返却させたい場合
import numpy as np def get_rand(): return np.random.randint(0, 100) def test_random(mocker): mocker.patch("numpy.random.randint", side_effect=[5, 55, 999]) assert get_rand() == 5 assert get_rand() == 55 assert get_rand() == 999