То, как мы справляемся с этим в моей команде, - это проверка всех ссылок, необходимых для встраивания продукта в систему контроля версий. Все, что находится за пределами самой .NET Framework, и все, что вы получаете за установку контроллера сборки / агента сборки, проверяется в ..
Положительные биты:
- Настройка агента сборки тривиальна (просто «Установить сервер 2K8R2, установить агент сборки, начать сборку»).
- Не нужно беспокоиться о сложной установке SDK, чтобы соответствовать блокам разработчиков. Все ссылки - это точная версия, проверенная для контроля версий.
- Вы получаете двоичное управление версиями, что означает, что если вам нужно сделать выпуск для технического обслуживания и собрать версию прошлогоднего конкретного API, это очень просто.
Отрицательные биты:
- Немного раздувает управление исходным кодом
- Чувствует себя странно, проверяя двоичные файлы в системе контроля версий
- Нужно быть очень бдительным в отношении поддержания структуры и чистоты того, как вы проверяете двоичные файлы, иначе это может легко выйти из-под контроля
Помимо этого, если заставить тестовые биты работать с вашим агентом сборки. Вероятно, самый простой способ - установить агент test . Средства автоматизации пользовательского интерфейса в VS2010 - это структура "CodedUI Test". Она расширяет обычную платформу VS Unit Test, но требует некоторых дополнительных регистраций для работы.
Более сложный, но очень полезный долгосрочный срок - это настройка полной платформы Visual Studio Lab Management. Недостатком является то, что для его полного использования вам потребуется подключить сервер System Center Virtual Machine Manager и хотя бы один хост Hyper-V и создать виртуальную машину с «чистым» снимком виртуальной машины (все , кроме *) 1032 * продукт, который вы тестируете, установлен). Как только все будет готово, вы получите действительно гладкий сквозной опыт сборки-развертывания-тестирования. Вы запускаете сборку продукта через систему сборки, как только завершенная среда восстанавливается до абсолютно чистой состояние (не беспокойтесь о том, что оставшиеся биты из последней версии повредили ваше тестирование и т. д.), продукт будет опубликован в этой тестовой среде, а затем выполнит ваши тесты.
Не уверен, используете ли вы TFS для отслеживания рабочих мест, управления тестовыми наборами, планирования проектов и тому подобного. Если нет, то управление лабораторными ресурсами может оказаться слишком тяжелым, чтобы с ним связываться. Больше информации здесь , если вы заинтересованы в том, чтобы возиться с этой частью. :)