2017-09-26 10 views
0

Comment tester une méthode void sans instancier l'objet dans la classe de test? Je comprends dans une classe statique interne que nous sommes incapables d'utiliser "new" pour créer un objet pour le tester. J'ai testé une unité en créant des objets pour une classe non statique mais je n'ai pas traité de classe statique interne et je suis coincé. Toute orientation serait géniale.Unité testant une méthode void dans une classe statique interne

Voici la classe/méthode en question:

Répondre

4

Vous pouvez utiliser l'attribut InternalsVisibileTo pour permettre un autre projet d'accéder à des cours internes.

[assembly: InternalsVisibleTo("NameOfYourUnitTestProject")] 

Ceci permettrait à votre projet de test d'appeler Util.AssertBytesEqual. Il est courant de mettre les attributs appliqués au niveau de l'assemblage dans le fichier AssemblyInfo.cs. En ce qui concerne le test de la méthode elle-même, il semble que la seule «sortie», pour ainsi dire, soit une exception. Vous testeriez simplement que la méthode lance ou non une exception pour différentes entrées.