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?

Antworten:


276

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


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() {}

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.


10

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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.