Global test initialize method for MSTest

mglmnc picture mglmnc · Sep 15, 2009 · Viewed 20.4k times · Source

Quick question, how do I create a method that is run only once before all tests in the solution are run.

Answer

driis picture driis · Oct 15, 2009

Create a public static method, decorated with the AssemblyInitialize attribute. The test framework will call this Setup method once per test run:

[AssemblyInitialize()]
public static void MyTestInitialize(TestContext testContext)
{}

For TearDown its:

[AssemblyCleanup]
public static void TearDown() 
{}

EDIT:

Another very important detail: the class to which this method belongs must be decorated with [TestClass]. Otherwise, the initialization method will not run.