J'ai besoin de faire des tests unitaires pour deux classes d'implémentation d'une interface particulière. La classe de test unitaire est générique et couvre tous les tests nécessaires pour l'interface. Je veux instancier la classe d'implémentation dans la méthode TestInitialize de la classe d'unité de test.Test d'unité de studio visuel pour différentes implémentations de l'interface
Y at-il un moyen de forcer l'exécution de la classe de test deux fois avec une instance de classe d'implémentation différente.
[TestClass]
public class MyFixture
{
[TestInitialize()]
public void MyTestInitialize()
{
ITest mockInstance = new TestImplement1();
//ITest mockInstance = new TestImplement2();
}
[TestMethod]
public void Test1()
{
mockInstance.Func1();
...
}
[TestMethod]
public void Test2()
{
...
}
...other unit tests
}
Devoir tester quelque chose comme ceci indique qu'il y a un problème avec votre conception. Le code à tester ne doit pas se préoccuper de savoir quel implémenteur spécifique de l'interface est effectivement présent; Si tel est le cas, votre interface est en violation de LSP. –
Ou il indique qu'il veut un moyen pratique de tester plusieurs implémentations d'une interface. –