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 は出ずに、テストは通る
 
  
  
  
  
コメント