Я пытаюсь понять способы работы с макетами и python.
class B:
def foo(self, value):
return value
class A:
def __init__(self, b: B):
self._b = b
def bar(self, value):
return self._b.foo(value)
Итак, простая зависимость, где A зависит от B, который вводится через конструктор.
Мой простой тест
class TestX(unittest.TestCase):
@patch.object(B, 'foo')
def test_it_should_return_same_value(self, mock_b):
value = 'X'
mock_b.return_value = value
a = A(mock_b)
self.assertEqual(a.bar(value), value)
mock_b.assert_called_with(value)
Что не получается с AssertionError: <MagicMock name='foo.foo()' id='140112335838224'> != 'X
Есть идеи, почему?