Зависит от того, насколько функционален абстрактный класс.Когда абстрактный класс просто предназначен для предоставления некоторого базового шаблона с набором шаблонных методов, я ограничиваю свое тестирование конкретными подклассами.
Когда абстрактный класс в основном завершен, я создаю конкретный подкласс дляпроверить в том же файле, что и контрольный пример, или я буду использовать макет.Обратите внимание, что getMockForAbstractClass()
- это просто помощник, который находит для вас все абстрактные методы.Ничто не мешает вам объявить все абстрактные методы плюс некоторые конкретные с getMock()
.По этой причине я переопределяю getMock()
в нашем базовом тестовом примере, чтобы объединить все абстрактные методы перед вызовом родителя.