如果测试失败,则返回来自预先提交GIT Hook的失败代码
问题描述:
我有一个吞噬任务test
,它使用摩卡来运行我的单元测试。如果测试失败,则返回来自预先提交GIT Hook的失败代码
我想运行单元测试作为GIT pre-commit
hook的一部分。
所以基本上我pre-commit
文件看起来像这样:
#!/bin/bash
gulp test
我的问题是,即使测试失败,提交而成。如何从我的pre-commit
文件中检测到测试失败?
答
Bash脚本的退出代码是执行的最后一个命令的退出代码。 如果gulp test
失败, 它将以非零值退出, 表示失败, 并且提交应该中止。
你确定钩子脚本得到执行吗?
- 脚本必须
.git/hooks/pre-commit
- 脚本必须是可执行
假设这些条件都满足, 张贴预期应该工作的脚本。 如果没有,则修改它以帮助调试并发布您希望失败的示例提交的输出。
#!/bin/bash
gulp test
x=$?
echo exit code = $x
exit $x
您需要得到'gulp test'的结果。如果成功了,那么在'pre-commit'中退出0或者什么也不做。如果失败,则以非零数字退出。如果测试失败, – ElpieKay
是否使用非零代码进行吞吐?它是如何返回失败的呢? – max630