web-dev-qa-db-fra.com

Tests unitaires de Visual Studio: configuration et démontage

Au lieu de [SetUp] et [TearDown] dans Nunit, quelle est l'alternative dans Visual Studio Ultimate 2010 Unit Testing. Dans Nunit, vous pouvez imaginer que les méthodes de configuration et de démontage sont des constructeurs et des destructeurs pour les tests de notre classe.

81
Etibar Hasanov

Une méthode annotée avec [TestInitialize] est exécuté avant chaque test. Également [TestCleanup] est après chaque test.

[ClassInitialize] et [ClassCleanup] sont exécutés avant et après la 'suite' de tests dans TestClass.

129
Mikeb

Visual Studio utilisera MSTest, qui est le framework de tests unitaires de Microsoft, il est similaire à NUnit. En fait, la plupart d'entre eux ont des concepts similaires mais une syntaxe différente.

Afin de visualiser la comparaison, les créateurs de xUnit (un autre framework de tests unitaires) ont une liste ici:

http://xunit.github.io/docs/comparisons.html

Plus précisément ce que vous avez demandé, TestInitialize est l'équivalent de MSTest à Setup de NUnit, et la même chose pour TestCleanup et TearDown.

Une chose à noter, je resterais avec NUnit si vous essayez de faire des tests unitaires automatisés ou une sorte d'intégration continue. La principale raison pour laquelle les divers *unit les frameworks sont préférés à MSTest parce que vous devez avoir une copie de Visual Studio sur la machine sur laquelle vous exécutez les tests. Très bien pour votre propre machine locale, histoire différente pour un serveur CI. Visual Studio est un cochon d'un programme, et pour l'installer sur un serveur (qui est généralement censé être aussi léger et rapide que possible), il suffit de lancer des tests un peu ennuyeux.

3
Arran