Хотелось бы спросить у публики, как организовать сложные интеграционные тесты, когда для запуска каждого теста нужно запускать виртуальную машину. Для начала опишу, как у нас сейчас организованы тесты и что мне в этом не нравится. Процесс организован с использованием шаблонов процессов TFS и настраиваемых действий.
- Первый шаг: На билд-агенте собирается проект.
- Из пользовательского действия (используя vmware API) запустите виртуальную машину.
- Скопируйте на виртуальную машину собранные dll проекта.
- Запускаем mstest.exe с нужными параметрами на виртуальной машине
- Скопируйте результаты теста в агент сборки и проанализируйте их вручную в пользовательском действии.
Итак, шаги 2-5 повторяем для каждого теста.
Недостатки этого подхода - сложность. Нам нужно вручную анализировать результаты тестов, если изменится формат этих файлов - мы получим много переписывания кода. Было бы намного лучше, если бы агентом сборки TFS была виртуальная машина, и TFS сама восстанавливала бы его перед запуском каждого теста. Как вы организуете такие тесты. Конкретно в данном случае речь идет о CodeUI, но подобные проблемы возникают часто. Возможно, мой вопрос слишком общий, но любые идеи будут очень полезны...