Was wäre eine Alternative zu [TearDown] und [SetUp] in MSTest?

244

Wenn ich MSTest Framework verwende und den von Selenium IDE für mich generierten Code kopiere, erkennt MSTest [TearDown]und nicht [SetUp]. Was ist die Alternative dazu?

Maya
quelle

Antworten:

276

Sie würden verwenden [TestCleanup]und [TestInitialize]jeweils.

Tejs
quelle
7
Setup = [TestInitialize]; TearDown = [TestCleanup]
ZaneDarken
267

Beachten Sie, dass Ihre Initialisierungs- / Bereinigungsmethoden die richtige Signatur verwenden müssen.

http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.testtools.unittesting.classinitializeattribute.aspx

    [AssemblyInitialize()]
    public static void AssemblyInit(TestContext context) {}

    [ClassInitialize()]
    public static void ClassInit(TestContext context) {}

    [TestInitialize()]
    public void Initialize() {}

    [TestCleanup()]
    public void Cleanup() {}

    [ClassCleanup()]
    public static void ClassCleanup() {}

    [AssemblyCleanup()]
    public static void AssemblyCleanup() {}
Dunken
quelle
9
+1 für AssemblyInitialize und AssemblyCleanup hier nicht erwähnt stackoverflow.com/a/1873572/864201
Rodolpho Brock
@dunken Wissen wir, dass TestCleanup () ausgeführt wird, auch wenn die Ausführung des Testfalls dazwischen fehlschlägt?
Kjosh
104

[TestInitialize]und [TestCleanup]auf der individuellen Testebene [ClassInitialize]und [ClassCleanup]auf der Klassenebene.

John Gardner
quelle
10

Sie können [TestInitialize]für [SetUp]und [TestCleanup]für verwenden [TearDown].

Mohsin Awan
quelle