【发布时间】:2015-12-05 01:54:14
【问题描述】:
如果特定的 testng 测试失败,我将如何编写一个 bash 脚本作为 git pre-commit 钩子运行以失败?我目前通过 maven surefire 运行我的 testng 测试,如下所示:
mvn clean test -Dtest="MyTestName"
【问题讨论】:
标签: git bash testng pre-commit-hook
如果特定的 testng 测试失败,我将如何编写一个 bash 脚本作为 git pre-commit 钩子运行以失败?我目前通过 maven surefire 运行我的 testng 测试,如下所示:
mvn clean test -Dtest="MyTestName"
【问题讨论】:
标签: git bash testng pre-commit-hook
如果pre-commit 钩子返回非零,则提交甚至在开始之前就被中止。在用于 bourne 样式 shell(例如 sh、ksh、zsh、bash 等)的脚本中,默认情况下,最后一次命令运行的返回值是脚本的返回值。据我了解,mvn clean test 在失败时应该返回非零值,所以你的脚本应该很简单:
#!/bin/sh
mvn clean test -Dtest="MyTestName"
然后只需将它命名为 pre-commit 在您的 repo 中的 .git/hooks/ 目录中并在其上运行 chmod ug+x 以确保它可以执行。
【讨论】: