我想模拟注释,以查看是否调用了它并传递了正确的参数。
我的问题:
User.object.filter(pk__in=[1,2,3]).annotate(is_banned=F('profile__is_banned'))
测试一下是否有效:
@mock.patch('models.User.objects')
def test_method(mock):
mock.return_value.filter.return_value = QuerySet()
method_call()
self.assertEqual(mock.call_count, 1)
mock.assert_called_with((pk__in=[1,2,3])
我无法模拟注解。
mock.return_value.filter.return_value.annotate.return_value = MagicMock(return_value=True)
吗? - Dan Balaban