【发布时间】:2015-12-01 14:05:22
【问题描述】:
我有以下问题:
class Foo(models.Model):
bars = models.ManyToMany(Bar)
# in a function somewhere else
def bla(bars):
return Foo.objects.filter(bars__in=bars)
我想测试当我调用bla() 时是否使用给定参数调用.filter()。
我这样写测试:
@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 失败。不确定我是否做得正确。有人可以帮我以正确的方式做吗?
谢谢!
【问题讨论】:
标签: django python-3.x mocking python-unittest