Комментарии 3
Вам надо исправить все ошибки, и в словах и коде.
В C# нет виртуальных классов, есть абстрактные. Соответственно, этот код не скомпилируется:
Наверное, вы хотели написать public virtual void GetNameTest(), чтобы потом переопределять этот метод в классах-наследниках.
К тому же, не совсем коррелируется фраза «часто хочется создать какой-то базовый клас для тестирования базовой логики» с кодом. По сути, вы всего лишь хотите иметь базовый класс, который бы предоставлял методы, с помощью которых в классах-потомках нужно что-то делать. Для этого можно сделать либо базовый интерфейс, в котором будут перечислены необходимые для переопределения методы, либо абстрактный класс.
Вообщем, идея топика абсолютно не ясна.
В C# нет виртуальных классов, есть абстрактные. Соответственно, этот код не скомпилируется:
public virtual class PersonTestBase {
[TestMethod]
public void GetNameTest()
{
//...
}}
Наверное, вы хотели написать public virtual void GetNameTest(), чтобы потом переопределять этот метод в классах-наследниках.
К тому же, не совсем коррелируется фраза «часто хочется создать какой-то базовый клас для тестирования базовой логики» с кодом. По сути, вы всего лишь хотите иметь базовый класс, который бы предоставлял методы, с помощью которых в классах-потомках нужно что-то делать. Для этого можно сделать либо базовый интерфейс, в котором будут перечислены необходимые для переопределения методы, либо абстрактный класс.
Вообщем, идея топика абсолютно не ясна.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Unit тесты и наследование