Python/Django での単体テストにモックを使用しようとしていますが、動作させることができません。モックは、呼び出されたことがないかのように動作します。
tests.py
from my_module import my_library
my_library = MagicMock()
class MyTest(TestCase):
def test_add(self):
acronym = 'TEST'
m = MyModel(acronym=acronym)
m.save()
my_library.add.assert_called_with(acronym=acronym)
my_library.py
def add(acronym):
# Processing...
models.py
class MyModel(Model):
acronym = CharField(max_length=4)
def save(self):
my_library.add(acronym=self.acronym)
super(MyModel, self).save(*args, **kwargs)
私のライブラリは機能します。関数 add が正しく呼び出されていることはわかっています。しかし、単体テストを実行すると例外が発生するだけなので、モックは機能していないようです。
AssertionError: Expected call: add(acronym='TEST')
Not called
私はモックを正しく使用していないと思います。誰か助けたりアドバイスをくれませんか?