Хорошо, я закончил поиск хорошей информации об этом. У меня есть серия тестов единиц, которые вызывают статический класс, который после инициализации устанавливает свойства, которые не могут (или я не хочу) изменять.
Моя проблема заключается в том, что я не могу выполнить установленный порядок для запуска тестов. Если бы я мог, я мог бы запускать их таким образом, чтобы статические свойства были установлены надежным способом, и я мог бы утверждать их, но, к сожалению, инфраструктура Microsoft.VisualStudio.TestTools.UnitTesting запускает их только в случайном порядке.
Итак, я нашел этот http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.testtools.unittesting.priorityattribute.aspx, который говорит в разделе "Замечания": "Этот атрибут не используется тестовой системой. Он предоставляется пользователю для пользовательских цели". А? Что хорошего тогда? Они ожидают, что я напишу свою собственную тестовую оболочку, чтобы воспользоваться этим невероятным атрибутом (из которого я мог бы легко написать себя, если бы захотел пойти на этот уровень усилий...)
Итак, хватит напыщенности; Итог, есть ли способ контролировать порядок выполнения моих модульных тестов?
[TestMethod]
[Priority(0)]
и т.д.. НЕ работает, что имеет смысл, так как Microsoft говорит, что этого не будет.
Кроме того, не прошу прокомментировать "нарушение изоляции". TestClass изолирует то, что я тестирую, а не отдельные TestMethods. Независимо от того, каждый тест может выполняться независимо, просто отлично, они просто не могут быть объединены в случайном порядке, так как нет возможности снести статический класс.
О, я также знаю о "Упорядоченном тесте".