我有以下问题:
class Foo(models.Model):
bars = models.ManyToMany(Bar)
# in a function somewhere else
def bla(bars):
return Foo.objects.filter(bars__in=bars)
我想测试.filter()
时是否使用给定参数调用bla()
。
我写了这样的测试:
@patch('my_module.models.Foo')
def test_bla(self, FooMock):
Foo.objects.filter = Mock()
foo([1, 2])
Foo.objects.filter.assert_called_with(bars__in=[1, 2])
它以Not called
失败。不确定我是否正确地做到了。有人可以帮助我以正确的方式做到这一点吗?
谢谢!
答案 0 :(得分:1)
我认为问题出在你修补的地方。这会引导您解决问题,我想: