Публичный интерфейс
У модуля есть публичный интерфейс, через который с ним работают внешние модули. Если представить, что модуль — это машина, то её интерфейс — это публичные методы, доступные водителю: «ехать прямо», «повернуть налево», «включить радио».
Публичные методы используют приватные методы, доступные только самому модулю. В случае с машиной — это всё, что скрыто под капотом: «скорректировать угол опережения зажигания» или «поднять давление в топливной рампе».
Приватные методы меняются, переименовываются и исчезают: в Тесле уже нет ни зажигания, ни топливной рампы. Если тестировать их напрямую, замучаешься переделывать тесты, и рефакторинг превратится в каторгу.
Поэтому тестируйте только публичный интерфейс. Не тестируйте приватные методы напрямую, проверяйте публичные методы, использующие их.
Тестируйте публичные методы
|