如果特定的testng测试失败,我将如何编写将作为git pre-commit挂钩运行的bash脚本失败?我目前通过maven surefire运行我的testng测试:
mvn clean test -Dtest="MyTestName"
答案 0 :(得分:2)
如果pre-commit
挂钩返回非零,则提交在启动之前中止。在bash脚本中,默认情况下,最后一个命令运行的返回值是脚本的返回值。根据我的理解,mvn clean test
应该在失败时返回非零值,因此您的脚本应该像以下一样简单:
#!/bin/sh
mvn clean test -Dtest="MyTestName"
然后在您的仓库中的pre-commit
目录中将其命名为.git/hooks/
,并在其上运行chmod ug+x
以确保其可以执行。