Ошибка при попытке использовать `assert not mock.method.called`

Я пытаюсь утверждать, что метод не вызывается с помощью Python Mock. К сожалению, я не могу обойти эту ошибку:

AttributeError: MockCallable instance has no attribute 'called'

Я использую Python 2.7.1 и Python Mock 0.1.0 для своих тестов. Google говорит: No results found for "AttributeError: MockCallable instance has no attribute 'called'". Как я могу устранить эту ошибку?

Вот тест:

import unittest2
import main
from mock import Mock

class TestCli(unittest2.TestCase):
    def setUp(self):
        self.mockView = Mock()
        self.mockFriendManager = Mock()
        self.mockedCli = main.CLI(self.mockView, self.mockFriendManager)

[...]

    def testCliDoesntGetFriendPropertiesWhenNotSelected(self):
        view = Mock( { "requestResponse":2 } )
        friendManager = Mock()
        cli = main.CLI(view, friendManager)
        cli.outputMenu()
        assert not friendManager.getFriendProperties.called, 'hello'

1 ответ

Вы должны обновить вас mock библиотека по pip, атрибут called был введен в 0.4.0, как вы можете видеть в http://www.voidspace.org.uk/python/mock/changelog.html

В любом случае, обновив его, вы получите еще больше полезных средств и инструментов.

Другие вопросы по тегам