title: Other than mocked method call actual methods for a mock object
body: <pre><code>IFoo
  {
      string abc();
      string def();
  }
  
  Foo: IFoo
  {
      string abc()
      {
          def();
      }
  
      string def()
      {
      }
  }
  
  Mymainclass
  {
      private IFoo _foo;
  
      public Mymainclass():this(new Foo())
      {}
  
      public Mymainclass(IFoo foo)
      {
          _foo = foo;
      }
  
      string mainmethod()
      {
          _foo.abc();
      }
  }
  
  [TestClass]
  public class Mymainclasstester
  {
      Mymainclass mainclass;
      Mock&lt;IFoo&gt; mifoo;
  
      [TestInitialize]
      public void TestInitialize()
      {
          mifoo = new Mock&lt;IFoo&gt;();
          mifoo.Setup(x =&gt; x.def(It.IsAny&lt;string&gt;())).Returns("abc");
          mainclass = new Mymainclass(mifoo.Object);
      }
  
      [TestMethod]
      public void testmethod()
      {
          mainclass.mainmethod();
      }
  }
  </code></pre>
  
  <p>As seen above in the testmethod() i am calling mainmethod() of class Mymainclass, which inturn calls abc() of Foo class.
  abc() makes call to def() as it can be seen in the above code. I have mocked only def().
  When the call is made from testmethod() i want to make an actual call to abc() of Foo, and mock only def().</p>
  
  <p>Currently with this implementation abc() is not executing. </p>
  
  <p>Can anyone help me on this?</p>