Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Git预提交钩子中运行testng测试_Git_Bash_Testng_Pre Commit Hook - Fatal编程技术网

在Git预提交钩子中运行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在失败时应返回非零,因此

如果某个特定的testng测试失败,我将如何编写一个bash脚本作为git预提交钩子运行以失败?我目前通过maven surefire运行testng测试,如下所示:

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
,以确保它可以执行。

谢谢让我尝试一下