Par exemple, il y a une interface IMyInterface
, et trois classes soutiennent cette interface: Dans la façon la plus simpleComment testez-vous l'unité d'une interface?
class A : IMyInterface
{
}
class B : IMyInterface
{
}
class C : IMyInterface
{
}
, je pourrais écrire trois classe de test: ATest, btest, CTest et les tester séparément. Cependant, comme ils prennent en charge la même interface, la plupart des codes de test sont identiques, il est difficile à maintenir. Comment puis-je utiliser une méthode simple et facile pour tester une interface prise en charge par une classe différente?
(previously asked on the MSDN forums)
C'est un bon exemple de la bonne réponse. – Chetan
+1 Bonne réponse! De nos jours NUnit prend en charge les classes de test génériques et l'attribut TestFixture peut être utilisé pour fournir les types spécifiques à utiliser lorsque le test est exécuté. J'ai écrit un [post de blog] (http://softwareonastring.com/2015/03/22/testing-every-implementer-of-an-interface-with-the-same-tests-using-nunit) sur la façon de tester chaque implémenteur d'une interface présentant ces fonctionnalités. –
Réponse élégante et concise ... –