Какой инструмент или инфраструктуру можно использовать для параллельного запуска тестов автоматизации WPF? - PullRequest
2 голосов
/ 23 февраля 2012

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

1 Ответ

0 голосов
/ 24 февраля 2012

Мы используем Дженкинс . Наши системные тесты построены на основе проприетарного фреймворка, написанного на C #.

Jenkins позволяет запускать задания при изменениях SCM (SVN, Git и Mercurial поддерживаются через плагины). Это также позволяет запускать задания на удаленных подчиненных устройствах (параллельно, если это необходимо). Вам необходимо вручную настроить работу и подчиненных . Конфигурирование заданий может быть выполнено с параметрами сборки: скажем, у вас есть только одно задание, которое принимает идентификаторы теста в качестве параметров, но оно может выполняться на нескольких ведомых устройствах; Вы можете настроить одно триггерное задание, которое будет запускать несколько тестовых заданий на разных ведомых устройствах, передавая им тестовые идентификаторы в качестве параметров.

Конфигурирование подчиненных становится намного проще, когда ваши подчиненные являются виртуальными машинами. Вы конфигурируете одну виртуальную машину, а затем копируете ее (убедитесь, что информация об узле, такая как имя узла, не жестко запрограммирована и легко настраивается).

Основные преимущества Jenkins:

  • Это бесплатно
  • Он имеет расширяемую архитектуру, позволяющую пользователям расширять его с помощью плагинов. На самом деле, на этом этапе (в отличие, скажем, полтора года назад) все, что мне нужно сделать, может быть сделано либо с помощью плагинов, либо с помощью Jenkins HTTP API.
  • Это может быть быстро развернуто. Дженкинс работает в собственном контейнере сервлетов. Вы можете развернуть и начать играть с ним менее чем за час.
  • Активное сообщество. Проверьте, например, теги [jenkins], [hudson] и [jenkins-plugins] в SO.

Я предлагаю вам попробовать: поиграйте с ним пару дней, скорее всего, вам понравится.

Обновление: Вот старый ответ Мне понравилось рекомендовать Дженкинса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...