Avatar ·

Modificateur internal en C# et tests unitaires : comment tester les méthodes internes ?

Bonjour à tous ! Je suis un développeur C# débutant et j'ai un problème avec les tests unitaires. Dans notre projet, il y a une classe avec le modificateur `internal`, et je ne peux pas y accéder depuis le projet de test. Voici un exemple : ```csharp // Dans le projet MyLibrary (bibliothèque de classes) internal class InternalService { internal string GetSecretData() { return "SensitiveInfo"; } } public class PublicService { private readonly InternalService _service = new InternalService(); public string ProcessData() { return _service.GetSecretData().ToUpper(); } } ``` Je veux écrire un test unitaire pour `InternalService.GetSecretData()`, mais le projet de test (MyLibrary.Tests) ne voit pas cette classe. J'ai entendu dire qu'on peut utiliser `InternalsVisibleTo`, mais je ne comprends pas bien comment cela fonctionne. Je me demande aussi si tester les méthodes internes ne viole pas les principes d'encapsulation. Peut-être vaut-il mieux tester uniquement via les méthodes publiques ? Mais alors...