title: Test fixture inheritance and ignored base test fixtures
body: <p>I have a set of base tests that are used to test multiple implementations of a interface. The way I modelelled this was by creating a base text fixture with a [Ignore] attribute.</p>
  
  <pre><code>[TestFixture]
  [Ignore]
  public class BaseTests
  {
       // Use your imagination for the actual name
       public virtual ITestableThing GetConcrete()
       {
           return null;
       }
  
       // All of my unit tests here
  }
  </code></pre>
  
  <p>And then I write a subclass for each interface implementation:</p>
  
  <pre><code>public class ConcreteThingTests :  BaseTests
  {
      public override ITestableThing GetConcrete()
      {
          return new ConcreteThing();
      }
  }
  </code></pre>
  
  <p>This works well, as I have all of the tests for ALL implementations in one place, and the sub classes just specify the implementation.</p>
  
  <p>The problem is that I have to put the [Ignore] attribute on the base class, or NUnit will try to run the tests (and fail). </p>
  
  <p>Because of this, my test results are always cluttered up with a set of Ignored tests, and while it's not a big deal, I thought there might be a better pattern for this that avoids having to ignore tests.</p>
  
  <p>So, am I implementing test fixture inheritance wrong?</p>