如果测试失败,则从预提交GIT Hook返回失败代码

时间:2017-10-08 03:23:39

标签: git bash gulp git-bash

我有一个gulp任务test,它使用mocha来运行我的单元测试。

我想将单元测试作为GIT pre-commit挂钩的一部分运行。

所以基本上我的pre-commit文件看起来像这样:

#!/bin/bash
gulp test

我遇到的问题是,即使测试失败,也会进行提交。如何从pre-commit文件中检测到测试失败?

1 个答案:

答案 0 :(得分:2)

Bash脚本的退出代码是最后执行的命令的退出代码。 如果gulp test失败, 它退出时非零, 这意味着失败, 并且提交应该中止。

你确定钩子脚本被执行了吗?

  • 脚本必须位于.git/hooks/pre-commit
  • 脚本必须是可执行的

假设满足这些条件, 发布的脚本应该按预期工作。 如果它没有,那么修改它以帮助调试并发布您希望失败的示例提交的输出。

#!/bin/bash

gulp test

x=$?
echo exit code = $x
exit $x
相关问题