title: Moq - Is it possible to setup a mock without using It.IsAny
body: <p>I use Moq all the time for unit tests.  Sometimes though I am mocking methods that have a lot of parameters.</p>
  <p>Imagine a method like this:</p>
  <pre><code>public class WorkClient {
  
  public void DoSomething(string itemName, 
     int itemCount, 
     ServiceClientCredential cred, 
     CancellationToken = default(CancellationToken){}
  }
  </code></pre>
  <p>When I go to setup a mock, I end up having to do quite a lot of <code>It.IsAny&lt;T&gt;()</code>.  I normally make one mocked instance per each test so I don't care about matching params.</p>
  <p>But my mocks still look like this</p>
  <pre><code>var newMockClient = new Mock&lt;WorkClient&gt;();
  newMockClient.Setup(x =&gt; x.DoSomething(
     It.IsAny&lt;string&gt;(), 
     It.IsAny&lt;int&gt;(),
     It.IsAny&lt;ServiceClientCredential(),
     It.IsAny&lt;CancellationToken&gt;())
     .Returns(blah);
  </code></pre>
  <p>I would love to be able to just lazily instead use a LazySetup if it exists, like this.</p>
  <pre><code>newMockClient.Setup(x=&gt;x.DoSomething()).Returns(blah);
  </code></pre>
  <p>Is there any lazy mode like this?</p>