Encontré el debate sobre ¿Prueba método privado informativo.
He decidido que en algunas clases quiero tener métodos protegidos, pero probarlos. Algunos de estos métodos son estáticos y cortos. Debido a que la mayoría de los métodos públicos los utilizan, probablemente pueda eliminar las pruebas de forma segura más adelante. Pero para comenzar con un enfoque TDD y evitar la depuración, realmente quiero probarlos.
Pensé en lo siguiente:
- Método Objeto como se aconseja en una respuesta parece ser excesivo para esto.
- Comience con métodos públicos y cuando la cobertura del código esté dada por pruebas de nivel superior, proteja y elimine las pruebas.
- Herede una clase con una interfaz comprobable que haga públicos los métodos protegidos
¿Cuál es la mejor práctica? ¿Hay algo mas?
Parece que JUnit cambia automáticamente los métodos protegidos para que sean públicos, pero no tuve una mirada más profunda. PHP no permite esto a través de la reflexión .