2014-09-08 4 views
1

J'ai une classe de test unitaire simple comme ceci:exécuter des tests unitaires deux fois dans Visual Studio 2012

[TestClass] 
    public class SomeTests 
    { 
     [TestMethod] 
     public void Test1() 
     { 
      // make some assertions 
     } 

     [TestMethod] 
     public void Test2() 
     { 
      // make some assertions 
     } 
     // ... 
     [TestMethod] 
     public void Test50() 
     { 
      // make some assertions 
     } 
    } 

et je veux essentiellement courir Test1..Test50 deux fois via la commande « Exécuter tous ». Une fois avec App.config comme ceci:

<appSettings> 
    <add key="SomeSetting" value="true"/> 
</appSettings> 

et une fois avec App.config comme ceci:

<appSettings> 
    <add key="SomeSetting" value="false"/> 
</appSettings> 

Etre paresseux, je ne veux pas factoriser & 50 tests paramétrons. Et évidemment je ne veux pas 50 tests en double.

Je suis un peu péter un cerveau, excuses si c'est évident.

+0

Si vous l'exécutez à l'aide de Visual Studio GUI, je ne trouve pas le problème car vous pouvez exécuter deux fois en cliquant simplement sur * Exécuter tout * une fois le premier test terminé: \ –

+0

Puis-je demander quels sont les avantages? vous l'exécutez deux fois? –

+0

@ MatíasFidemraizer - mais cela nécessiterait de modifier manuellement le fichier App.config chaque fois que je voulais exécuter le test, correct? Je veux éviter cela si possible. – sming

Répondre

1

make SomeTests abstrait.

Ajoutez deux nouveaux projets, avec les deux fichiers .config différents.

Dans chaque projet, ajoutez une classe TestClass héritant de SomeTests.

Tout exécutera maintenant les deux ensembles de tests.

+3

Quelle solution paresseuse lol –

0

Créez deux paramètres de test. Cliquez sur Activer le déploiement dans la section Déploiement. Ajoutez vos deux fichiers App.Config différents (un pour chaque paramètre de test). Exécutez vos tests, puis passez à l'autre TestSettings et exécutez-les à nouveau.

Peut-être un moyen de courir avec tous les paramètres de test, mais je ne l'ai pas trouvé.

+0

merci, semble raisonnable. Je peux voir comment sélectionner un fichier de paramètres de test existant mais ne peux pas voir où je peux créer des paramètres de test. – sming

+0

Ah, je suppose que vous utilisez VS.net 2012+. Le fichier de paramètres de test a été remplacé par un fichier .RunSettings similaire. Les instructions sont ici http://msdn.microsoft.com/en-gb/library/jj635153.aspx – PhillipH

+0

merci @PhillipH. Comment/où puis-je définir un paramètre ? Je ne vois pas un moyen de pointer vers des fichiers App.config différents ou remplacer le . – sming

Questions connexes