¿Cuál es la mejor manera de probar los métodos protegidos y privados en Ruby, utilizando el Test::Unit
marco estándar de Ruby ?
Estoy seguro de que alguien hablará y afirmará dogmáticamente que "solo debe realizar una prueba unitaria de los métodos públicos; si necesita una prueba unitaria, no debería ser un método protegido o privado", pero no estoy realmente interesado en debatir eso. Tengo varios métodos que están protegidos o privados por razones buenas y válidas, estos métodos privados / protegidos son moderadamente complejos, y los métodos públicos en la clase dependen de que estos métodos protegidos / privados funcionen correctamente, por lo tanto, necesito una forma de probar Los métodos protegidos / privados.
Una cosa más ... Generalmente pongo todos los métodos para una clase dada en un archivo, y las pruebas unitarias para esa clase en otro archivo. Idealmente, me gustaría toda la magia para implementar esta funcionalidad de "prueba unitaria de métodos protegidos y privados" en el archivo de prueba unitaria, no en el archivo fuente principal, para mantener el archivo fuente principal lo más simple y directo posible.