Etibar - a tea bar
Etibar - a tea bar

Reputation: 1962

Visual Studio Unit Testing: SetUp and TearDown

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.

Upvotes: 104

Views: 53738

Answers (2)

Arran
Arran

Reputation: 25056

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.

Upvotes: 5

Mikeb
Mikeb

Reputation: 6361

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.

Upvotes: 167

Related Questions