【发布时间】:2013-06-04 07:07:13
【问题描述】:
我试图在我的单元测试中实现一个模拟,但它从未被调用,即使它应该调用。
tests.py
from mock import patch
class MyTest(TestCase):
def test_add(self):
name = 'Test'
with patch('my_module.my_file.my_function') as add_method:
m = MyModel(name=name)
m.save()
add_method.assert_called_with(name=name)
models.py
from my_module.my_file import my_function
class MyModel(Model):
name = CharField(max_length=12)
def save(self, *args, **kwargs):
my_function(self.name)
super(MyModel, self).save(*args, **kwargs)
我的文件.py
def my_function(name):
# Processing...
当我运行单元测试时,它只是告诉我没有调用模拟,虽然它应该是,但我知道脚本工作正常。您对我有什么想法/建议吗?
【问题讨论】:
标签: python django unit-testing mocking python-mock