在Git pre-commit钩子中运行testng测试

时间:2015-12-05 01:54:15

标签: git bash testng pre-commit-hook

如果特定的testng测试失败,我将如何编写将作为git pre-commit挂钩运行的bash脚本失败?我目前通过maven surefire运行我的testng测试:

mvn clean test -Dtest="MyTestName"

1 个答案:

答案 0 :(得分:2)

如果pre-commit挂钩返回非零,则提交在启动之前中止。在bash脚本中,默认情况下,最后一个命令运行的返回值是脚本的返回值。根据我的理解,mvn clean test应该在失败时返回非零值,因此您的脚本应该像以下一样简单:

#!/bin/sh
mvn clean test -Dtest="MyTestName"

然后在您的仓库中的pre-commit目录中将其命名为.git/hooks/,并在其上运行chmod ug+x以确保其可以执行。