0

VOUCHERED_PEOPLEそして、パッチを適用するためにこれ を読んだbase.pyことでテストする必要がありますが、Django2では機能しませんdummysettings.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

質問:
どこが間違っていますか?

4

1 に答える 1