Quelle est la meilleure façon de tester des méthodes protégées et privées dans Ruby, en utilisant le Test::Unit
framework Ruby standard ?
Je suis sûr que quelqu'un dira dogmatiquement que "vous ne devriez tester que des méthodes publiques unitaires; si cela nécessite des tests unitaires, ce ne devrait pas être une méthode protégée ou privée", mais je ne suis pas vraiment intéressé à en débattre. J'ai plusieurs méthodes qui sont protégées ou privées pour de bonnes et valables raisons, ces méthodes privées / protégées sont modérément complexes, et les méthodes publiques de la classe dépendent du fonctionnement correct de ces méthodes protégées / privées, j'ai donc besoin d'un moyen de tester les méthodes protégées / privées.
Encore une chose ... Je mets généralement toutes les méthodes pour une classe donnée dans un fichier, et les tests unitaires pour cette classe dans un autre fichier. Idéalement, j'aimerais que toute la magie implémente cette fonctionnalité de "test unitaire des méthodes protégées et privées" dans le fichier de test unitaire, pas dans le fichier source principal, afin de garder le fichier source principal aussi simple et direct que possible.