私は2つのモジュールを持っています。
a.py
def get_resource(arg1, arg2):
return Modelobject based on arg1 and arg2 or None
b.py (フォーム)
from a import get_resource
class A(forms.Form):
arg1 = forms.CharField()
arg2 = forms.CharField()
def clean(self):
res = get_resource(arg1, arg2)
if res is None:
validationerror
else:
cleaned_data.update(res_key=res)
データベースが不要になるように get_resource 部分をモックする必要がありますが、動作させることができませんでした。
これが私が試したものですが、うまくいきません。私は何を間違っていますか?
class Test(TestCase):
def test_form_a(self):
with patch('b.get_resource') as mock_tool:
mock_tool.return_value = MagicMock(spec=MusicModel)
form_data = {'arg1': '1', 'arg2': 'Music'}
form = A(data=form_data)
また、関数で side_effects を試しました
def my_side_effect(*args, **kwargs):
return value based on arg[0] and arg[1]
mock_tool.side_effect = my_side_effect
私はモックとテストの初心者なので、誰かが私に正しい方向性を示してもらえますか?