Как MSTEST / Visual Studio 2008 Team Test определяет порядок выполнения метода тестирования?

StackOverflow https://stackoverflow.com/questions/288805

  •  08-07-2019
  •  | 
  •  

Вопрос

У меня сложилось впечатление, что методы тестирования в классе модульных тестов будут выполняться в следующем порядке: что они появляются в файле класса. Видимо, это не так. Это также, кажется, не основано исключительно на алфавитном порядке. Как MSTEST определяет порядок исполнения?

РЕДАКТИРОВАТЬ: я смог отследить ответ после того, как немного покопался. Смотрите ниже.

Это было полезно?

Решение

Мне удалось отследить ответ.

По данным Microsoft сотрудник Гильермо Серрато :

  

MSTest выполняет все тесты   синхронно, порядок   недетерминирован

Другие советы

Это на самом деле просто: используйте эту ссылку Как: создать заказанный Тест

Сортировка в тестовом представлении или редакторе тестового списка приводит к тому, что они отображаются так, как будто у вас есть контроль - это всего лишь побочный продукт реализации. Мы не предпринимаем попыток фактически выполнить их в определенном порядке (мы перебирали туда и обратно «разрешить порядок» и «случайный порядок»).

Если вам действительно нужен порядок, то для этого и нужны упорядоченные тесты. Они доступны во всех выпусках, где доступен модульный тест - используйте меню «Тест / Новый тест» или щелкните правой кнопкой мыши проект теста и создайте «заказанный тест»

Это очень просто. Я использую это

C: > mstest /testcontainer:C:\MyTest.dll /resultsfile:C:\MyTestresults.xml

Логика здесь в том, что по умолчанию mstest дает вам файл .trx. Поэтому в команде против параметра [/ resultfile:] укажите имя файла, указав расширение .xml. Поэтому я использовал /resultsfile:C:\MyTestresults.xml вместо /resultsfile:C:\MyTestresults.trx

Это прекрасно работает для меня. Дайте мне знать, если это работает для вас.

По моему опыту (мне было немного трудно) Я много думал о порядке изменения порядка выполнения метода в проекте MStest. Я собираюсь попытаться описать шаги. <Ол>

  • Убедитесь, что вы удалили файлы .testrunconfig и .vsmdi по умолчанию. Эти файлы создаются Visual Studio при создании тестового проекта.

  • Закройте экземпляр Visual Studio и снова откройте его.

  • Когда Visual Studio открылась, вы должны открыть Edior списка тестов, а затем создать свой собственный список в разделе Списки тестов. После создания нового списка тестов он должен быть пустым.

  • Перейдите в раздел «Все загруженные тесты», затем перетащите любой тест во вновь созданный раздел теста с выбранным вами заказом.

  • Затем убедитесь, что ваш последний созданный тестовый раздел отмечен, и вы можете нажать «Запустить тест» и вуаля, чтобы он выполнялся в заданном вами порядке.

    Я не знаю, может ли это быть ошибкой или чем-то подобным, но это волшебным образом работает. Мы пару раз тестировали этот метод с моим коллегой.

    Хорошая блокировка

    Проблема: я хочу запускать только те веб-тесты, которые включены в мой заказанный тест. Я использую заказанный тест как раз для этой цели, поэтому я могу запускать свои веб-тесты в определенном порядке, в котором они мне нужны. У меня много веб-тестов, но мой заказанный тест содержит подмножество этих веб-тестов. , который я хотел бы запустить. Решение: Упорядоченный тест используется для запуска набора тестов в определенном порядке. Создайте список тестов Orderer в Visual Studio / тестовый проект. В окне тестового просмотра (Test | Windows | Test View) выберите OrderedTest и запустите его оттуда (вы можете щелкнуть по нему правой кнопкой мыши и выбрать «Выполнить выбор»). Заказанный тест автоматически запустит все ваши веб-тесты, которые включены в него.

    Вы увидите результаты в окне результатов теста (Test | Windows | Test Results); дважды щелкните OrderedTest, и вы увидите подробные результаты для всех ваших веб-тестов. Вы можете дважды щелкнуть каждый веб-тест, и вы сможете увидеть подробные результаты для каждого из них.

    Есть много способов заказать тесты в VS. Используйте тестовое представление и добавьте дополнительные столбцы и порядок. Я использую файлы VSMDI, и они запускаются в указанном порядке.

    Не должно иметь значения, в каком порядке они выполняются ... если ваши тесты зависят от другого, выполняющегося в первую очередь, ваши тесты имеют недостатки: -)

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top