Я знайшов дискусію на тестуванні ви тестуєте приватний метод інформативним.
Я вирішив, що в деяких класах я хочу мати захищені методи, але перевірити їх. Деякі з цих методів є статичними та короткими. Оскільки більшість публічних методів використовує їх, я, ймовірно, зможу безпечно зняти тести пізніше. Але для початку з підходу TDD та уникнення налагодження я дуже хочу перевірити їх.
Я подумав про наступне:
- Метод Об'єкт, про який йдеться у відповіді, здається для цього непосильним.
- Почніть з загальнодоступних методів, і коли покриття коду надається тестами вищого рівня, поверніть їх захищеними та видаліть тести.
- Успадкуйте клас із тестовим інтерфейсом, що робить захищені методи відкритими
Яка найкраща практика? Чи є ще щось?
Здається, що JUnit автоматично змінює захищені методи, щоб бути відкритими, але я не мав глибшого погляду на це. PHP не дозволяє цього через рефлексію .