title: Python mock a base class's attribute
body: <p>For testing, I'd like to change a single Class instance's attribute (self.attr) in a base class.</p>
  
  <pre><code># app.py
  class Base():
      def __init__(self):
          self.attr = 'original_value'
  
      def show(self):
          print(self.attr) 
  
  class App():
      def __init__(self):  
          self.base = Base()
  </code></pre>
  
  <p>Here is my attempt at mocking the Base class instance's attribute <code>attr</code></p>
  
  <pre><code># test_app.py
  from mock import Mock
  from app import App
  
  def test_mock_inherited_class_instance():
      """ With mocking. Change app.base.attr from 'original_value' to 'new_value'.
      """
      app = App()
      app.base = Mock()
      app.base.attr = 'new_value'
      app.base.show() # I'd like this to show 'new_value', NOT 'original_value'
  </code></pre>