Сначала запустите тесты, затронутые изменениями кода в TeamCity
Используя TeamCity, мы хотим запускать тесты, на которые в первую очередь влияют изменения кода.
NCrunch ( http://ncrunch.net/) и Mighty Moose ( http://continuoustests.com/) предоставляют решения для этого на локальной машине разработки. Есть ли какое-то решение для TeamCity?
Контекст: мы проводим множество интеграционных тестов и тестов для программистов на базе нашего кода. Выполнение всех тестов на сервере интеграции занимает до 4 часов. Он работает на довольно мощном оборудовании, и для этого не так много возможностей для улучшения. Когда разработчик совершает и нажимает, было бы неплохо получить быструю обратную связь.
1 ответ
Чтобы сократить общую продолжительность тестов, вы, вероятно, можете разделить свои тесты на две или более частей и иметь отдельную конфигурацию сборки в TeamCity для каждой части. Затем вы можете создать еще одну конфигурацию сборки с зависимостями моментальных снимков для всех этих частей. Наконец, вы можете добавить VCS триггер к этой конфигурации с опцией, чтобы инициировать изменения в зависимостях. Конфигурации сборки, на которых действительно выполняются тесты, могут вообще не иметь триггеров.
С этой настройкой и достаточным количеством агентов у вас будет несколько параллельных тестов. Обратите внимание, что результаты зависимостей моментальных снимков будут непротиворечивыми, потому что когда запускаются конфигурации сборок интеграционных тестов, их исправления фиксируются и будут одинаковыми для всех запущенных сборок. Конфигурация сборки в зависимости от тестовых конфигураций может вообще не иметь этапов сборки, ее единственная задача - предоставить агрегированные результаты тестирования и запуска.
TeamCity также поддерживает переупорядочивание тестов для.NET и Java, вы можете узнать больше об этой функции в документации: http://confluence.jetbrains.net/display/TCD65/Running+Risk+Group+Tests+First