Visual Studio Unit Testing: SetUp and TearDown

Visual Studio-2010Unit TestingMstest

Visual Studio-2010 Problem Overview


Instead of [SetUp] and [TearDown] in Nunit what is the alternative in Visual Studio Ultimate 2010 Unit Testing. In Nunit you can imagine setup and teardown methods are as constructors and destructors for the tests in our class.

Visual Studio-2010 Solutions


Solution 1 - Visual Studio-2010

A method annotated with [TestInitialize] is run before each test. Likewise [TestCleanup] is after each test.

[ClassInitialize] and [ClassCleanup] are run before and after the 'suite' of tests inside the TestClass.

Solution 2 - Visual Studio-2010

Visual Studio will use MSTest, that is Microsoft's unit testing framework, it is similar to NUnit. In fact, most of them are similar in concepts but different syntax.

In order to view the comparaison, the creators of xUnit (another unit testing framework) have a list here:

https://xunit.net/docs/comparisons

More specifically what you asked for, TestInitialize is MSTest's equivalent to NUnit's Setup, and the same for TestCleanup and TearDown.

One thing to note, I would stay with NUnit if you are attempting to do automated unit testing or some kind of continuous integration. The main reason the various *unit frameworks are favoured over MSTest is because you must have a copy of Visual Studio on the machine you are running the tests on. Fine for your own local machine, different story for a CI server. Visual Studio is a pig of a program, and to install it on a server (which is generally supposed to be as lightweight and fast as it can be), just to run tests is a bit annoying.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionEtibar - a tea barView Question on Stackoverflow
Solution 1 - Visual Studio-2010MikebView Answer on Stackoverflow
Solution 2 - Visual Studio-2010ArranView Answer on Stackoverflow