For example, there is a interface IMyInterface, and three classes support this interface:
IMyInterface
class A : IMyInterface { } class B : IMyInterface { }
You do not test the interface directly, but you may write an abstract class that tests the contract a particular implementation should extend. A test of a concrete class would then extend the abstract class