Comment RowTest avec MSTest?
Je sais que MSTest ne prend pas en charge RowTest
et des tests similaires.
Ce n' MSTests
utilisateurs à faire? Comment est-il possible de vivre sans RowTest
de soutien?
J'ai vu DataDriven
de fonctions de test mais les sons comme trop de frais généraux, est-il un 3ème partie de patch ou d'un outil qui me permet de faire RowTest
des essais similaires dans MSTest
?
- code.google.com/p/datest/wiki/DaTest
- Malheureusement, DaTest semble être la seule à travailler avec VS2008.
- Double Possible de Comment faire pour exécuter une méthode de test avec plusieurs paramètres dans MSTest?
- Aujourd'hui, vous pouvez utiliser le DataRow attribut
Vous devez vous connecter pour publier un commentaire.
Je sais que c'est une réponse tardive mais j'espère que ça aide les autres à l'extérieur.
J'ai cherché partout une solution élégante et fini par écrire un moi-même. Nous l'utilisons dans plus de 20 projets, avec des milliers de tests unitaires et des centaines de milliers d'itérations. N'a jamais manqué un battement.
https://github.com/Thwaitesy/MSTestHacks
1) Installer le NuGet paquet.
2) Hériter de votre classe de test à partir de TestBase
3) Créer une Propriété, un Champ ou une Méthode, qui renvoie IEnumerable
4) Ajouter le MSTest source de données de l'attribut à votre méthode de test, pointant vers l'interface IEnumerable nom ci-dessus. Ce doit être pleinement qualifié.
Résultat final: 3 itérations tout comme la normale de la source de données 🙂
Nous avons ajouté le support pour des DataRow dans VS2012 Update1. Voir ce blog pour obtenir de brèves introduction
Dans VS2012 Update1, cette fonctionnalité est actuellement limitée à des applications du Windows store. Dans les versions ultérieures, il n'est pas limité.
Sur mon équipe qui est verrouillé à l'aide de la MS framework de Test, nous avons développé une technique qui s'appuie uniquement sur les Types Anonymes de tenir un tableau de données de test, et LINQ to en boucle et test de chaque ligne. Il ne nécessite pas de classes supplémentaires ou des cadres, et tend à être assez facile à lire et à comprendre. Il est également beaucoup plus facile à mettre en œuvre que la pilotés par les données des tests à l'aide de fichiers externes ou une base de données connectée.
Par exemple, disons que vous avez une méthode d'extension comme ceci:
Vous pouvez utiliser et à un tableau de Types Anonymes combiné à LINQ pour écrire des tests de ce genre:
Lors de l'utilisation de cette technique, il est utile d'utiliser un message mis en forme qui comprend les données d'entrée dans l'Affirmer pour vous aider à identifier la ligne qui provoque le test à l'échec.
J'ai blogué à propos de cette solution avec plus de fond et détails AgileCoder.net.
Similaire à DaTest(pas mis à jour depuis 2008) de la solution à l'aide de PostSharp est décrit dans le blog http://blog.drorhelper.com/2011/09/enabling-parameterized-tests-in-mstest.html
J'ai résolu ce problème en générant des test de code de la classe avec différents nombre de généré des méthodes d'essai. Vous avez juste à télécharger les 2 fichiers et de les inclure dans votre projet.
Puis une sous-classe d'une classe avec le nombre de lignes dans votre code de test et mettre en œuvre des 2 méthodes abstraites:
Plus de détails:
https://github.com/dzhariy/mstest-rows