mocker.patch の使い方メモ
ディレクトリ構成
├─src
│ └─pkg
│ ├─ __init__.py
│ └─ foo.py
└─test
└─pkg
└─ test_foo.py
__init__.py は空
foo.py
def fetch_data():
raise NotImplementedError()
test_foo.py
from pathlib import Path
import sys
sys.path.append(str(Path(__file__).parents[2] / 'src' / 'pkg'))
import foo # noqa
def test_fetch_data(mocker):
mocker.patch('foo.fetch_data', return_value=None)
df = foo.fetch_data()
assert df is None
これで pytest すると、NotImplementedError は出ずに、テストは通る
コメント