Angular: Как принудительно запустить модульные тесты при запуске Git push?

1

Я видел проекты Angular, в которых модульные тесты запускаются каждый раз, когда выполняется сборка, а также при запуске команды git push. Если какие-либо тесты не выполняются во время любой команды, процесс не выполняется до тех пор, пока все ваши модульные тесты не пройдут или если вы не обходитесь. Я бы хотел, чтобы этот проект был создан для моего проекта как наилучшая практика. Пожалуйста помоги :)

  • 2
    Я не думаю, что было бы хорошей идеей запускать модульные тесты при запуске git push так как это два разных и независимых процесса, и они должны оставаться как есть. Лучшим подходом было бы реализовать ловушку перед фиксацией, которая предотвращает коммит кода, если есть какие-либо неудачные тесты.
  • 0
    Вы должны взглянуть на лайку, которая поможет вам создать git hook прямо из вашего package.json. Тем не менее, я не думаю, что это хорошая идея, если у вас мало тестов или если они работают невероятно быстро. В противном случае вам будет очень скучно. Никто не хочет ждать 5 минут, прежде чем сможет толкнуть. Вы должны полагаться на свой КИ для этого. Предварительная фиксация или предварительные push-зацепки хороши для таких вещей, как линтинг (и даже это может занять слишком много времени) или, например, работа более привлекательной.
Теги:
angular
karma-jasmine

2 ответа

0

Git предоставляет методологию для подключения к ней событий с использованием .git/hooks

вы можете добавить папку в свой проект под названием .git/hooks и внутри этой папки добавить подпапку, называемую pre-commit и внутри нее вы можете разместить сценарии, которые должны быть запущены. Это будет ваша тестовая команда.

Например, test.sh будет содержать: ng test

Более подробную информацию о подключении git-событий можно найти здесь: https://git-scm.com/docs/githooks

Дайте мне знать, если у вас возникнут вопросы, я был бы счастлив пересмотреть свой ответ!

  • 1
    Это не .githooks , это .git/hooks .
  • 0
    @ phd ты прав, моя ошибка, ответ отредактировал / обновил! Спасибо!
0

Для запуска сборки, модульных тестов и т.д. Перед фиксацией или нажатием вы можете использовать такой инструмент, как Husky.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню