title: ASP.NET MVC Unit Tests - Fake repository has become unwieldy
body: <p>Things started off simple with my fake repositories that contained hard-coded lists of entities.</p>
  
  <p>As I have progressed, my shared fake repositories have become bloated.  I am continually adding new properties and new entities to these lists.  This is making it extremely difficult to maintain and it is also difficult to see what the test is doing.  I believe this is an anti-pattern called "<a href="http://xunitpatterns.com/Obscure%20Test.html#General%20Fixture" rel="nofollow">General Fixture</a>".</p>
  
  <p>In researching ASP.NET MVC unit tests, I have seen two methods for preparing repository fixtures that are passed on to the controllers.</p>
  
  <ol>
  <li>Create hard-coded fake repositories that are shared among all tests</li>
  <li>Mock parts of the repositories within each test</li>
  </ol>
  
  <p>I'm tempted to explore option #2 above but I've read that it's not a good idea to mock repositories and it seems quite daunting in the scenarios where I'm testing a controller that operates on collections (i.e. with paging/sorting/filtering capabilities).</p>
  
  <p>My question to the community...</p>
  
  <p>What methods for preparing repository fixtures work well beyond rudimentary examples?</p>