Co byłoby alternatywą dla [TearDown] i [SetUp] w MSTest?

244

Kiedy używam MSTest Framework i kopiuję kod wygenerowany dla mnie przez Selenium IDE, MSTest nie rozpoznaje [TearDown]i [SetUp]. Jaka jest alternatywa dla tego?

Maya
źródło

Odpowiedzi:

276

Użyłbyś odpowiednio [TestCleanup]i [TestInitialize].

Tejs
źródło
7
Setup = [TestInitialize]; TearDown = [TestCleanup]
ZaneDarken,
267

Pamiętaj, że twoje metody inicjalizacji / czyszczenia muszą używać właściwego podpisu.

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
źródło
9
+1 dla AssemblyInitialize i AssemblyCleanup nie wspomniano tutaj stackoverflow.com/a/1873572/864201
Rodolpho Brock
@dunken Czy wiemy, że TestCleanup () jest wykonywany, nawet jeśli wykonanie przypadku testowego kończy się niepowodzeniem?
kjosh
104

[TestInitialize]oraz [TestCleanup]na poziomie pojedynczego testu [ClassInitialize]i [ClassCleanup]na poziomie klasy.

John Gardner
źródło
10

Możesz używać [TestInitialize]dla [SetUp]i [TestCleanup]dla [TearDown].

Mohsin Awan
źródło