Mocking Instance Attributes
Please help me understand why the following doesn't work. In particular - instance attributes of a tested class are not visible to Python's unittest.Mock. In the example below bar
Solution 1:
Patching is used to modify name or attribute lookup. In this case, there is no bar attribute of the class temp.Foo.
If the intent is to patch the instance variable, you either need an existing instance to modify
deftest(self):
f = Foo()
with patch.object(f, 'bar', 3):
self.assertEqual(f.bar, 3)
or you may want to patch the function call that initializes the instance attribute in the first place.
deftest(self):
with patch('some_external_function_returning_list', return_value=3):
f = Foo()
self.assertEqual(f.bar, 3)
Post a Comment for "Mocking Instance Attributes"