У меня есть два классаДолжен ли я тестировать базовый метод?
public abstract class BaseClass
{
public string PropertyA {get; set;}
public virtual object CopyProperties(BaseClass other)
{
other.PropertyA = this.PropertyA;
}
}
и класс, который наследует от нее
public class ChildClass : BaseClass
{
public string PropertyB {get; set;}
public virtual object CopyProperties(BaseClass other)
{
other.PropertyB = this.PropertyB;
base.CopyProperties(other);
}
}
Естественно я блок испытанный такой сложной логики!
У меня есть два теста:
Ensure_calling_CloneProperties_copies_PropertyA() Ensure_calling_CloneProperties_copies_PropertyB()
Я хочу знать, является ли также требуется следующее испытание
Ensure_calling_CloneProperties_on_ChildClass_calls_base()
Мое личное мнение заключается в том, что мы должны проверить поведение CloneProperties на ChildClass, нам нужно проверить, что при вызове clone PropertyA и PropertyB оба скопированы правильно - нам не нужно (или хотите) знать, как это происходит достигнуты. Однако коллега не согласен.
Учитывая гибкие и лучшие методы TDD, я должен также создать третий тест?