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

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

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

Ответы [ 8 ]

11 голосов
/ 14 ноября 2008

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

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

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

4 голосов
/ 14 декабря 2011

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

2 голосов
/ 09 декабря 2011

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

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

2 голосов
/ 05 ноября 2009

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

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

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

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

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

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

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

Хороший замок

2 голосов
/ 17 марта 2009

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

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

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

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

2 голосов
/ 14 февраля 2009

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

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

1 голос
/ 14 ноября 2008

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

0 голосов
/ 14 ноября 2008

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

...