При разработке unit тестов в Visual Studio часто хочется создать какой-то базовый клас для тестирования базовой лоники. Например у нас есть такой класс:
[TestClass] public class PersonTestBase { [TestMethod] public virtual void GetNameTest() {
//… } }
и его класс наследник: [TestClass] public class CustomerTest: PersonTestBase { [TestMethod] public override void GetNameTest() { base.GetNameTest(); } }
Плюсы такого подхода:
- полная поддержка визуальных средств Visual Studio (Test List Editor);			
- простота реализации.
			
- избыточность кода;			
- создание наследника является по сути copy&paste.	
			
-  создаётся два проекта: BaseTests и CustomTests;		
- в проект CustomTests добавляются необходимые файлы из BaseTests таким образом: Project -> Add Existing Item -> Выбираем необходимые файлы -> Add As Link.
			
- фактически, в классе у реализоано 2 тестовы метода: один перешел из базового класса и один мы реализовали сами.		
- Visual Studio Test List Editor говорит что у нас только один тетовый медов - метода из бащового класс не отображается и, соответственно, не запускается.
			
- мы избавились от минусов предыдущего метода;
			
- нету интеграции с Visual Studio.