Вы можете использовать любой (bash) скрипт в качестве git pre-commit или pre-push hook. Git должен прерваться, если скрипт возвращает ненулевой код возврата.
Итак, создайте скрипт с именем pre-commit.tests
или pre-push.tests
, который выглядит примерно так
#!/bin/bash
mvnw test
и зарегистрируйте хук, например, поместив скрипт в .git/hooks
. mvn test
уже должен возвращать ненулевой код возврата, если тесты не пройдены.
Если нет, вам необходимо определить, успешно ли прошли тесты в вашем скрипте. Например, отправив результат в grep и отыскивая запись ERROR или более показательную строку, которая указывает либо на успех, либо на неудачу.
Примечание. Если вы работаете в среде Windows / Mac, вы, скорее всего,нужно адаптировать это в зависимости от того, как вы интегрировали git, т.е. работаете ли вы в bash-совместимой консоли или нет.