I have a line of code that is:

if not hasattr(class.a, u'c'):
    return

How do I mock out class so that class.a.c returns False for hasattr?

If I do this:

>>> from mock import MagicMock
>>> mock_class = MagicMock(spec=[u'a'])
>>> hasattr(mock_class, u'a')
True
>>> hasattr(mock_class, u'b')
False
>>> hasattr(mock_class.a, u'c')
True

Although I dont spec class.a.c, its being mocked!!!

Edit
Report