title: Substitute read only property in partially mocked object
body: <p>I'm testing an MVC controller which relies on a value returned from a read-only property on the base class.</p>
  
  <p>The getter for this property throws an exception when it is called as it is relies on a <code>HttpContext</code> (and other nasty stuff) which I would rather avoid mocking.</p>
  
  <p>This is what I've tried so far:</p>
  
  <pre><code>controller = Substitute.ForPartsOf&lt;MyController&gt;(
      Substitute.For&lt;SomeDependency&gt;(),
  );
  
  controller.UserInfo.Returns(new UserInfo());
  </code></pre>
  
  <p>Yet this throws an exception as soon as UserInfo is accessed.</p>
  
  <p>Property on base class is:</p>
  
  <pre><code>public UserInfo UserInfo
  {
      get
      {
          // HttpContext dependent stuff
      }
  }
  </code></pre>
  
  <p>I've tried setting the base class property to virtual but then I get a Castle proxy exception.</p>