如何运行 go-unit-tests 预提交挂钩以使用选项 -p 运行

我正在查看这个 golang-precommit 挂钩存储库:https ://github.com/dnephin/pre-commit-golang


go-unit-testshook 运行命令go test -tags=unit -timeout 30s -short -v但是如果我想 go hook 运行带 -p=1选项的命令怎么办。有什么办法可以做到这一点?


这是我.pre-commit-config.yaml文件中的内容


repos:

  - repo: https://github.com/dnephin/pre-commit-golang

    rev: v0.4.0

    hooks:

      - id: go-fmt

      - id: go-unit-tests


慕沐林林
浏览 104回答 1
1回答

一只甜甜圈

没有直接给出那个钩子,但是那个 repo 并没有真正添加太多,你可以通过一个repo: local钩子(未经测试)复制你想要的东西:-   repo: local    hooks:    -   id: go-unit-tests        name: go unit tests        entry: go test -p=1 ./...        pass_filenames: false        types: [go]        language: system免责声明:我写了预提交/公然的自我推销我邀请你看看我的 golang pre-commit hooks 项目:github: TekWizely/pre-commit-golang该项目包括用于“go test”的内置挂钩:自述文件 -> 去测试这些钩子专门设计用于使您能够将额外的参数传递给 go 工具。只需使用预提交的内置 args 机制:https://pre-commit.com/#passing-arguments-to-hooks此外,每个钩子都有一个针对不同范围运行的版本:单独修改的 .go 文件存储库中的所有 .go 文件包含修改后的 .go|go.mod 文件的完整模块存储库中的所有模块包含修改后的 .go 文件的完整包(已弃用)存储库中的所有包(已弃用)注意:可用范围取决于每个工具实际支持的内容。最后,有一种机制可以调用(还)没有内置钩子的通用 go 工具(很难跟上它们)。根据您最初的问题,这里有一个运行 go test 的示例-p=1:    -   repo: https://github.com/tekwizely/pre-commit-golang         rev: master         hooks:         -   id: go-test-mod             args: ['-p=1']我希望你能尝试一下我的项目。我认为您会发现它为 golang 提供了最好的可用预提交挂钩。(随意提出任何澄清问题,但请不要在这里寻求太多支持 - 项目页面上的问题和讨论跟踪器是处理此类问题的更好地方)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go