在Git预提交钩子中运行testng测试
如果某个特定的testng测试失败,我将如何编写一个bash脚本作为git预提交钩子运行以失败?我目前通过maven surefire运行testng测试,如下所示:在Git预提交钩子中运行testng测试,git,bash,testng,pre-commit-hook,Git,Bash,Testng,Pre Commit Hook,如果某个特定的testng测试失败,我将如何编写一个bash脚本作为git预提交钩子运行以失败?我目前通过maven surefire运行testng测试,如下所示: mvn clean test -Dtest="MyTestName" 如果pre-commithook返回非零,那么提交将在开始之前中止。在bourne样式shell的脚本(例如sh、ksh、zsh、bash等)中,默认情况下,最后一次命令运行的返回值是脚本的返回值。据我所知,mvn clean test在失败时应返回非零,因此
mvn clean test -Dtest="MyTestName"
如果
pre-commit
hook返回非零,那么提交将在开始之前中止。在bourne样式shell的脚本(例如sh、ksh、zsh、bash等)中,默认情况下,最后一次命令运行的返回值是脚本的返回值。据我所知,mvn clean test
在失败时应返回非零,因此您的脚本应简单如下:
#!/bin/sh
mvn clean test -Dtest="MyTestName"
然后只需在repo的
.git/hooks/
目录中将其命名为pre-commit
,并在其上运行chmod ug+x
,以确保它可以执行。谢谢让我尝试一下