卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章34340本站已运行393

如何告诉瞪羚 go 文件适用于 go_default_test 而不是 go_default_library?

如何告诉瞪羚 go 文件适用于 go_default_test 而不是 go_default_library?

php小编苹果将为您介绍如何告诉瞪羚go文件适用于go_default_test而不是go_default_library。在Go语言中,瞪羚是一个功能强大的构建工具,用于组织和构建Go项目。默认情况下,瞪羚会将所有以_test.go结尾的文件视为测试文件,并将其包含在go_default_test中。然而,有时候我们希望将某些测试文件从go_default_test中排除,而是包含在其他的目标中,比如go_default_library。那么,该如何实现呢?接下来,我们将为您详细解答。

问题内容

我有一个文件 embed_testdata.go,旨在用于测试,但本身没有测试(所以我不想用 _test.go 作为后缀)。我如何告诉 gazelle 它确实是测试源而不是生产源?

仅供参考,只需将其添加到 go_default_test 并将其从 go_default_library 中删除是行不通的,因为 gazelle 会撤消该手动编辑。

解决方法

https://www.php.cn/link/9877c66299c5b98d81fed12827d87e4b都是有效的 ngazelle 指令。

没有具体的指令告诉它将非 _test.go 文件视为测试,但有两个可以用于此效果,excludekeep

# gazelle:exclude embed_testdata.go
…
go_test(
    name = "go_default_test",
    srcs = [
        "embed_testdata.go",  # keep
…

嵌入文件系统时,还需要类似以下内容:

go_test(
    name = "go_default_test",
…
    embedsrcs = glob(["testdata/**"]), # keep
…
卓越飞翔博客
上一篇: 如何使用 go mongo-driver db.getUser()
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏