title: How to unit test abstract classes: extend with stubs?
body: <p>I was wondering how to unit test abstract classes, and classes that extend abstract classes.</p>
  
  <p>Should I test the abstract class by extending it, stubbing out the abstract methods, and then test all the concrete methods? Then only test the methods I override, and test the abstract methods in the unit tests for objects that extend my abstract class?</p>
  
  <p>Should I have an abstract test case that can be used to test the methods of the abstract class, and extend this class in my test case for objects that extend the abstract class?</p>
  
  <p>Note that my abstract class has some concrete methods.</p>