2016-06-10 6 views
2

Ich möchte annotieren, um zu sehen, ob es aufgerufen wurde und die richtigen Parameter übergeben wurden.Django, wie man sich annotieren kann?

Meine Frage:

User.object.filter(pk__in=[1,2,3]).annotate(is_banned=F('profile__is_banned')) 

-Test, die funktioniert:

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

Ich kann die annotate verspotten.

+0

Haben Sie versucht 'mock.return_value.filter.return_value.annotate.return_value = MagicMock (return_value = True)'? –

+0

ja, funktioniert nicht – jalanga

Antwort

0

Das Annotat ist in mock.filter.return_value.annotate.