VOUCHERED_PEOPLE
そして、パッチを適用するためにこれ
を読んだbase.py
ことでテストする必要がありますが、Django2では機能しませんdummy
settings.VOUCHERED_PEOPLE
utils.py
from django.conf import settings
def get_voucher_people(mobile_phone: str) -> typing.Dict[str, typing.Union[str, int]]:
"""Read name from base.py"""
for record in settings.VOUCHERED_PEOPLE:
if record['mobile_phone'] == mobile_phone:
return record
return None
base.py
VOUCHERED_PEOPLE = [{...}, {...}]
tests.py
with patch('poinkbackend.apps.vouchers.utils.settings', VOUCHERED_PEOPLE=dummy):
from pprint import pprint
import ipdb;
ipdb.set_trace()
give_voucher(sarit.userprofile, True)
試行 1:
with patch.object(settings, 'VOUCHERED_PEOPLE') as mock_settings:
mock_settings.return_value = dummy
これは動作しません。settings.VOUCHERED_PEOPLE
関数です。ダミーを取得するには実行する必要がありますsettings.VOUCHERED_PEOPLE()
問題:
パッチが機能しません。私であることは変化の価値ではないdummy
質問:
どこが間違っていますか?