【问题标题】:Reject Git commit if test coverage was less than a defined parameter如果测试覆盖率小于定义的参数,则拒绝 Git 提交
【发布时间】:2014-08-09 14:32:26
【问题描述】:

是否可以将 Git 存储库与 CI 服务器集成,这将测量测试覆盖率和一些其他参数,如果没有足够的测试,或者有很多非 DRY 代码,则拒绝提交?

【问题讨论】:

    标签: git unit-testing continuous-integration tdd code-coverage


    【解决方案1】:

    想到了 TeamCity 的预测试提交或延迟提交 - http://www.jetbrains.com/teamcity/features/delayed_commit.html

    这可能是最好的解决方案。或者,您可以查看一个 git pre-receive 挂钩,它将驻留在 Git 服务器上并拒绝不满足某些条件的提交。但在服务器上运行整个构建之类的事情并不理想。

    另一种选择是让开发人员设置一个pre-push 挂钩。这更像是一个安全网,并且不会阻止某人推动损坏的提交。但我想安全网就是所需要的。

    【讨论】:

    • pre-push hooks 看起来是一个非常简单有趣的想法。谢谢。我在 git 方面不是很专业,但是是否可以编写类似的提交脚本,并且只接受来自该脚本的提交,但如果用户只是尝试进行纯 git 提交,那么它会被拒绝吗?跨度>
    猜你喜欢
    • 1970-01-01
    • 2021-09-07
    • 1970-01-01
    • 1970-01-01
    • 2012-05-09
    • 2019-04-08
    • 2019-05-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多