首页 >后端开发 >Golang >如何告诉瞪羚 go 文件适用于 go_default_test 而不是 go_default_library?

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

WBOY
WBOY转载
2024-02-08 22:24:10496浏览

如何告诉瞪羚 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 会撤消该手动编辑。go_default_test 并将其从 go_default_library 中删除是行不通的,因为 gazelle 会撤消该手动编辑。

解决方法

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

解决方法

_test.go 文件视为测试,但有两个可以用于此效果,excludekeephttps://www.php.cn/link/9877c66299c5b98d81fed12827d87e4b都是有效的 ngazelle 指令。

没有具体的指令告诉它将非

:🎜
# 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 文件适用于 go_default_test 而不是 go_default_library?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:stackoverflow.com。如有侵权,请联系admin@php.cn删除