title: Mock.Of<Object> VS Mock<Object>()
body: <p>I'm currently confuse on how to mock.</p>
  
  <p>I'm using Moq. To mock objects I usually write this way</p>
  
  <pre><code> var mockIRepo = new Mock&lt;IRepo&gt;();
  </code></pre>
  
  <p>However, I need to create mock object for my setup.</p>
  
  <p><strong>Option1</strong>
  Is it better to mock my object which only contain properties this way?</p>
  
  <pre><code> var object = Mock.Of&lt;Object&gt;()
  </code></pre>
  
  <p><strong>Option2</strong>
  Or this way</p>
  
  <pre><code> var object = new Mock&lt;Object&gt;()
  </code></pre>
  
  <p>I've read that option 2 has setupproperties which is kinda questionable to me because I could also set the properties in option 1. </p>
  
  <p><strong><em>Then what is the difference? Or is there a better way?</em></strong></p>