如何在git中测试前/后提交脚本?

时间:2018-06-11 06:37:43

标签: python git githooks git-commit

我在python中创建了一个git post-commit钩子,并创建了一个可执行文件并将其放入.git / post-commit中。

当我通过Python运行它时,它可以工作。现在我想在git中本地测试它。我怎样才能做到这一点?我无法以简单的方式在我的计算机上进行本地git提交,对吧?

我应该将钩子文件复制到我的服务器并进行测试提交来测试吗?还有另一种方式吗?

2 个答案:

答案 0 :(得分:1)

  

我无法以简单的方式在我的计算机上进行本地git提交,对吧?

您需要区分推送分支到服务器,这可能需要一些配置,只需创建提交,这可以像运行命令一样简单:

@Test(priority=2)
public void negativeTestCase() throws Exception{
    int status=asset.postRequest("", "", "");
    Assert.assertEquals(status, 200);
}

@Test(priority=2)
public void negativeTestCase() throws Exception{
    int status=asset.postRequest("", "", "");
    Assert.assertEquals(status, 401);
}

答案 1 :(得分:0)

预提交和提交后挂钩在提交时本地运行(请参阅https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks),而不是在push(push是将本地提交转移到服务器的那些)上运行。

为了测试一个钩子,我会创建一个测试分支,并在那里用你想要的任何内容进行几次测试提交。挂钩准备好后,您可以删除该分支。在你推动之前,一切都是本地的。

此外,如果您从钩子脚本输出内容,那么当您进行提交时,这将在终端中可见。这对调试很有用。

要在服务器上执行代码,您应该使用"服务器端挂钩" (see at the bottom of this page,还有documented here)。