My function uses a non-existent library:
from a.b import c
def func():
d = c()
How do I mock c? So far I tried these methods, but not sure why it doesn't work:
mock_a = Mock(name="a")
mock_a.b = Mock(name="b")
mock_d = Mock(name="d")
mock_a.b.c = MagicMock(return_value=mock_d)
sys.modules["a"] = mock_a
and also tried
mock_ab = Mock(name="a.b")
mock_d = Mock(name="d")
mock_ab.c = MagicMock(return_value=mock_d)
sys.modules["a.b"] = mock_ab