Подтвердить что ты не робот

Как подклассы unit test

Каков наилучший способ подклассов unit test? Предположим, что существует базовый класс, для которого я уже написал тесты, и есть некоторое количество подклассов, которые переопределяют некоторые из родительских поведений в общедоступных и/или защищенных методах.

Если класс test для моих подклассов расширяет (и, при необходимости, переопределяет методы тестирования) класс тестирования для моего базового класса, чтобы применить все тесты базового класса? В противном случае я ожидал бы повторного тестового кода.

4b9b3361

Ответ 1

Согласно принципу подписи Лискова, экземпляры подклассов должны обладать теми же свойствами, что и базовый класс, и, таким образом, передавать (все?) одинаковые модульные тесты.

Я бы выполнил [возможно, не все, все, что имеет значение] тесты базового класса для каждого подкласса. Это может быть достигнуто с помощью тестового помощника.

Да, подкласс класса тестирования может быть хорошим способом избежать дублирования в модульных тестах. Посмотрите на шаблон Testcase superclass.

Ответ 2

Трудно увидеть без примера, но я бы тестировал базовый класс в одном наборе тестов, а затем создавал новые тесты для подклассов и просто тестировал поведение, которое отличается.