Durant les dernières années, j'ai toujours pensé que dans Java, la Réflexion est largement utilisé pendant le test Unitaire. Depuis quelques variables/méthodes qui doivent être vérifiés dans le privé, c'est en quelque sorte nécessaire pour lire les valeurs. J'ai toujours pensé que la Réflexion, de l'API est également utilisé à cette fin.
La semaine dernière j'ai eu à tester des paquets et donc écrire des tests JUnit. Comme toujours, j'ai utilisé de Réflexion pour accéder aux champs privés et des méthodes. Mais mon directeur de thèse, qui a vérifié le code n'était pas vraiment heureuse et m'a dit que le Reflet de l'API n'était pas destiné à l'utilisation pour de tels "piratage". Au lieu de cela, il a proposé de modifier la visibilité dans le code de production.
Est-ce vraiment une mauvaise pratique de l'utilisation de la Réflexion? Je ne peux pas vraiment croire que l'-
Edit: je devrais avoir mentionné le fait que j'était nécessaire que tous les tests sont dans un paquet séparé appelé test (donc protégés à l'aide de la visibilité par exemple, n'était pas une solution possible aussi)