Извините за поздний ответ... Я пропустил уведомление о ваших ответах на мой вопрос :-( Извините за это!
Если вы все еще ищете решение, вот мое предложение.
Я полагаю, у вас есть тестовая среда, состоящая из двух машин (для сервера и клиента). Если это так, вы не сможете запускать тесты на обоих из них, или, лучше сказать, у вас не будет достаточного контроля над запуском тестов. Проверьте Как запускать автоматические тесты на нескольких в то же время
На самом деле я разместил соответствующий вопрос на «Форуме разработчиков Visual Studio», вы можете проверить ответы, которые я получил здесь: Можно ли запустить тест на нескольких виртуальных машинах, принадлежащих к одной среде, используя рабочий процесс сборки-развертывания-тестирования
Все это означает, что вы в конечном итоге создадите две среды, каждая из которых состоит из одной машины (одна для сервера и одна для клиента).
Но тогда вы не сможете ссылаться на обе среды в своем определении сборки, если вы можете выбрать только одну среду в DefaultLabTemplate.
Это приводит к решению, которое я могу предложить:
- Создайте две лабораторные среды
- Create three build definitions
- the first one will only build your test code
- второй развернет последнюю успешную сборку из первого и запустит тесты в серверной среде.
- третий развернет последнюю успешную сборку из первой и запустит тесты в клиентской среде.
- Автоматически запускать первое определение сборки ночью
- Запустите последние два одновременно позже.
Я знаю, это не очень приятно...
Вам придется синхронизировать определение сборки, создающее тестовый код, с двумя определениями сборки, запускающими тесты.
Я думал о создании подобных тестов несколько месяцев назад, и это было лучшее решение, которое я придумал...
Другой вариант, я еще не пробовал, может быть таким:
- Используйте единую тестовую среду, состоящую из двух машин, и используйте для них разные роли (сервер и клиент соответственно).
- В MTM создайте две Настройки тестирования (одну для роли сервера и одну для роли клиента).
- Создайте файл bat для запуска тестов с помощью инструмента tcm.exe (см. Как: запускать автоматические тесты из командной строки с помощью Tcm для получения дополнительной информации).
Вам потребуется два вызова tcm.exe, по одному для каждой Настройки теста вы создали.
Поскольку вызов tcm.exe просто ставит в очередь тестовый запуск и возвращает (более или менее) немедленно, этот файл ванны запустит тесты (более или менее) одновременно .
- Create a build definition using DefaultLabTemplate.
This definition will:
- build test code
- разверните их на обеих машинах в вашей среде
- запустите свой сценарий ванны в качестве последнего шага развертывания
(вам нужно будет убедиться, что этот сценарий расположен на машине сборки, или развернуть его там, или сделать его доступным с машины сборки)
Как я уже сказал, я еще не пробовал.
Недостатком этого подхода будет то, что вы не увидите тестовую часть в журнале сборки, так как тесты не будут запущены средствами, предоставленными Шаблон лаборатории по умолчанию. Таким образом, сборка не будет давать сбой при сбое тестов.
Но вы по-прежнему сможете видеть результаты тестов в MTM и будете иметь результаты тестов для каждой машины.
Но в зависимости от того, что для вас важнее (иметь результаты отдыха или иметь определение сборки, которое дает сбой, если тесты не выполняются, или иметь и то, и другое), это может быть решением для вас.
person
Elena
schedule
23.10.2013