By Roy Osherove
Sooner or later, as you start writing tests for your applications, you’re bound to refactor them, and create utility methods, utility classes, and many other constructs (either in the test projects or in the code under test) solely for the purpose of testability or test readability and maintenance. This article from The Art of Unit Testing how to use inheritance in your test classes, create test utility classes and methods, and make your API known to developers.

Building a Test API for Your Application (PDF)