2016-06-10 138 views
2

我想模拟注释,看看它是否被调用,并传递正确的参数。Django,如何模拟注释?

我的查询:

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]) 

我不能嘲笑的注释。

+0

你有没有试过'mock.return_value.filter.return_value.annotate.return_value = MagicMock(return_value = True)'? –

+0

是的,没有工作 – jalanga

回答

0

该注释位于mock.filter.return_value.annotate