Что будет альтернативой [TearDown] и [SetUp] в MSTest?

244

Когда я использую MSTest Framework и копирую код, сгенерированный для меня Selenium IDE, MSTest не распознает [TearDown]и [SetUp]. Какая альтернатива этому?

майя
источник

Ответы:

276

Вы бы использовали [TestCleanup]и [TestInitialize]соответственно.

Tejs
источник
7
Setup = [TestInitialize]; TearDown = [TestCleanup]
ZaneDarken
267

Имейте в виду, что ваши методы Initialize / Cleanup должны использовать правильную подпись.

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
источник
9
+1 для AssemblyInitialize и AssemblyCleanup, не упомянутых здесь stackoverflow.com/a/1873572/864201
Родольф Брок,
@dunken Знаете ли мы, что TestCleanup () выполняется, даже если выполнение тестового примера не удается между ними?
kjosh
104

[TestInitialize]и [TestCleanup]на уровне индивидуального тестирования, [ClassInitialize]и [ClassCleanup]на уровне класса.

Джон Гарднер
источник
10

Вы можете использовать [TestInitialize]для [SetUp]и [TestCleanup]для [TearDown].

Мохсин Аван
источник