Как я могу гарантировать, что все модульные тесты пройдут перед фиксацией?

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

Исходя из нескольких других вопросов здесь, кажется плохой идеей использовать это в качестве ловушки перед фиксацией на стороне сервера в основном из-за продолжительности времени, необходимого для сборки + запуска тестов. Я погуглил и нашел это (все разработчики используют TortoiseSVN):

http://cf-bill.blogspot.com/2010/03/pre-commit-force-unit-tests-without.html

Который решит как минимум две проблемы (он не будет построен на Unix), но не отклоняет фиксацию, если она не удалась. Итак, мои вопросы:

  • Есть ли способ сделать ловушку перед фиксацией в TortoiseSVN, которая приведет к сбою фиксации?
  • Есть ли лучший способ сделать то, что я пытаюсь сделать в целом?

12
задан Cœur 15 April 2017 в 16:35
поделиться