我有以下场景:
在我的models.py中
class FooBar(models.Model): description = models.CharField(max_length=20)
在我的utils.py文件中.
from models import FooBar def save_foobar(value): '''acts like a helper method that does a bunch of stuff,but creates a FooBar object and saves it''' f = FooBar(description=value) f.save()
在tests.py中
from utils import save_foobar @patch('utils.FooBar') def test_save_foobar(self,mock_foobar_class): save_mock = Mock(return_value=None) mock_foobar_class.save = save_mock save_foobar('some value') #make sure class was created self.assertEqual(mock_foobar_class.call_count,1) #this passes!!! #Now make sure save was called once self.assertEqual(save_mock.call_count,1) #this fails with 0 != 1 !!!
这是我正在尝试做的简化版本…所以请不要为什么我有一个utils文件和一个帮助函数(在现实生活中它做了几件事).此外,请注意,虽然简化,这是我的问题的实际工作示例.第一次调用call_count会返回1并传递.但是,第二个返回0.因此,看起来我的补丁正在工作并被调用.
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。