Насколько сложна среда, в которой изменения не могут быть протестированы локально? Если среда слишком велика и сложна для работы на рабочей станции разработчика, вы действительно хотите заняться макетом и модульным тестированием. У вас действительно есть две противоборствующие силы:
- Каждое изменение кода настолько интегрировано, что для проверки требуется полный сквозной тест.
- Разработчики не могут иметь сквозную среду.
Модульное тестирование (которое, конечно, требует написания / поддержки кода в дискретных тестируемых блоках), и имитация не является окончательным решением этой проблемы, но это поможет. Много.
Если вы выберете первый вариант, критически важны непрерывная интеграция и непрерывное развертывание в вашей тестовой среде. Ошибки должны быть идентифицированы немедленно , иначе ваши разработчики будут создавать ошибки при ошибках, и вся система быстро запутается.
Ваш второй вариант - нет. Если у вас есть неконтролируемый шаг между разработчиками и системой контроля версий, тогда вы полностью подрываете «контрольную» часть системы контроля версий. Можно также просто хранить код на общем ресурсе FTP.
Третий вариант, вероятно, ваш лучший выбор. Использование этой опции также открывает возможности для будущих улучшений. В конце концов, если вы можете изолировать и, по сути, поставить новые штампы / среды для каждого разработчика, то они должны быть на небольшом расстоянии от них до локальных сред для каждого разработчика. Аппаратные средства дешевы, зависимости могут быть высмеяны и т. Д.