Гаразд, я закінчив пошук хорошої інформації щодо цього. У мене є серія Unit Tests, які викликають статичний клас, який після ініціалізації встановлює властивості, які неможливо (або я не хочу) змінювати.
Моя проблема полягає в тому, що я не можу забезпечити встановлений порядок для запуску тестів. Якби я міг, я міг запустити їх таким чином, щоб статичні властивості були встановлені надійним способом, і я міг би на них стверджувати, але, на жаль, Microsoft.VisualStudio.TestTools.UnitTesting фреймворк просто запускає їх у, здавалося б, випадковому порядку. .
Отже, я знайшов цей http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.testtools.unittesting.priorityattribute.aspx, який говорить у розділі "Зауваження" "Цей атрибут не використовується тестовою системою. Він надається користувачеві для власних цілей. " А? Яка тоді користь? Чи очікують вони, що я напишу власну обгортку для тестування, щоб скористатися цим казковим атрибутом (про який я міг би легко написати сам, якби хотів піти на такий рівень зусиль ...)
Отже, вистачає розмови; Підсумок, чи є спосіб контролювати порядок запуску моїх модульних тестів?
[TestMethod]
[Priority(0)]
тощо, здається, НЕ працює, що має сенс, оскільки Microsoft каже, що не буде.
Також, будь ласка, жодних коментарів щодо "порушення ізоляції". TestClass виділяє те, що я тестую, а не окремі TestMethods. Незважаючи на це, кожен тест можна запустити незалежно окремо, їх просто неможливо запустити разом у випадковому порядку, оскільки немає можливості зруйнувати статичний клас.
О, я також знаю про "Замовлений тест".