title: StructureMap is not reset between NUnit tests
body: <p>I'm testing some code that uses StructureMap for Inversion of Control and problems have come up when I use different concrete classes for the same interface.</p>
  
  <p>For example:</p>
  
  <pre><code>[Test]
  public void Test1()
  {
      ObjectFactory.Inject&lt;IFoo&gt;(new TestFoo());
  
      ...
  }
  
  [Test]
  public void Test2()
  {
      ObjectFactory.Initialize(
          x =&gt; x.ForRequestedType&lt;IFoo&gt;().TheDefaultIsConcreteType&lt;RealFoo&gt;()
      );
      // ObjectFactory.Inject&lt;IFoo&gt;(new RealFoo()) doesn't work either.
  
      ...
  }
  </code></pre>
  
  <p>Test2 works fine if it runs by itself, using a RealFoo.  But if Test1 runs first, Test2 ends up using a TestFoo instead of RealFoo.  Aren't NUnit tests supposed to be isolated?  How can I reset StructureMap?</p>
  
  <p>Oddly enough, Test2 fails if I don't include the Initialize expression.  But if I do include it, it gets ignored...</p>