Есть ли способ отключить / игнорировать нагрузочный тест в Visual Studio 2010 без использования списков тестов? - PullRequest
1 голос
/ 29 марта 2012

Я новичок в нагрузочном тестировании в Visual Studio / MSTest, и недавно я создал новый нагрузочный тест для проверки некоторых сценариев с высоким трафиком для службы WCF. Я хочу добавить это в проект тестов для службы, но не хочу, чтобы тест выполнялся всякий раз, когда я «запускаю все тесты в решении», или как часть нашего процесса проверки сборки Continuous Integration, потому что a) он занимает 5 минут для запуска и б) вызов службы, который он тестирует, генерирует многие тысячи сообщений электронной почты. По сути, я хотел бы сделать эквивалент добавления атрибута [Ignore] к модульному тесту, чтобы нагрузочный тест выполнялся только тогда, когда я явно выбрал его.

В этой статье MSDN («Как: отключить и включить тесты») предлагает, чтобы единственным отключением теста было использование списков тестов (файлы .vsmdi), но у меня нет большого опыта с ними они кажутся сложными в управлении, я не хочу изменять наше определение сборки CI, и в этом блоге говорится, что тестовые списки устарели в VS2012. Любые другие идеи?

Редактировать: я принял ответ Маурисио, который заключался в том, чтобы поместить нагрузочные тесты в отдельный проект и поддерживать отдельные решения, одно с нагрузочными испытаниями, а другое без. Это позволяет запускать (более быстрые) модульные тесты во время разработки, а также включать (более медленные) нагрузочные тесты во время проверки сборки без использования списков тестов.

Ответы [ 2 ]

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

Это не должно быть проблемой для вашего определения сборки CI. Почему?

Чтобы запустить модульные тесты как часть процесса сборки, вам нужно настроить определение сборки так, чтобы оно указывало на тестовый контейнер (обычно файл .dll, содержащий ваши тестовые классы и методы). Нагрузочные тесты не работают таким образом, они определены в файлах .loadtest (которые являются просто файлами XML), которые используются механизмом MSTest.

Если вы не внесете никаких дополнительных изменений в определение CI Build, нагрузочный тест будет проигнорирован.

Если вы хотите запустить тест как часть сборки, вам необходимо настроить определение сборки для использования файла .loadtest.

Держитесь подальше от тест-листов. Как вы сказали, они устарели в VS11.

Редактировать. Самый простой способ избежать запуска нагрузочного теста в рамках тестов «Выполнить все» в Visual Studio - создать другое решение для нагрузочных тестов.

0 голосов
/ 29 марта 2012

Почему вы не хотите использовать Test Lists.Я думаю, что это лучший способ сделать это. Создайте разные списки тестов для каждого типа теста (модульный тест, нагрузочный тест ...), а затем в вашей команде MSTest введите Test List(s), который вы хотите:

  • MSTest \testmetadata:testlists.vsmdi \testlist:UnitTests (только юнит-тесты)
  • MSTest \testmetadata:testlists.vsmdi \testlist:LoadTests (только нагрузочные тесты)
  • MSTest \testmetadata:testlists.vsmdi \testlist:UnitTests \testlist:LoadTests (юнит-тесты и нагрузочные тесты)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...