LINUX.ORG.RU

TDD и иерархии классов

 , ,


0

2

Вопрос к практикующим TDD (желательно на C++, но в общем не важно - вопрос больше теоретический). Скажем, я реализую некую иерархию классов, пользуясь паттерном Composite - например, элементы для построения логических схем, в которых элементы сами могут являться составными схемами. То есть есть абстрактный класс Element и наследующие его Gate и CompositeGate. Как в этом случае я должен строить процесс TDD? Писать отдельно тесты для каждого наследника - вряд ли правильный способ.


А что ты питаешься тестировать? Сам принцип структуры по принятому шаблону? Так оно тебе на фиг не надо - результаты теста познается в действии, не в статике. Composite, как я в твоём случае представляю - просто деталь имплементации. Тест «стал ли я не совсем верблюдом в общем» - просто бессмысленный. Тебе объект нужен как эксперт какой-то своей области, для решения определённого круга задач, по которым ты его и тестируешь.

anonymous ()

Тестируют реализации на соответствие интерфейсу а не интерфейсы. Соответственно если в интерфейсе закреплена иерархия наследования то в наследниках тестируешь только переопределеные методы и новые публичные

lberserq ()

Тесты пишутся на каждый юзекейс. Приёмочный он или юнит это дело сто третье...

pon4ik ★★★★★ ()

Писать отдельно тесты для каждого наследника - вряд ли правильный способ.

Правильный. Товарищи выше в общем то о том же сказали.

dvetutnev ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.