Heim >Backend-Entwicklung >Golang >Wie kann man Gazelle mitteilen, dass Go-Dateien für go_default_test und nicht für go_default_library bestimmt sind?

Wie kann man Gazelle mitteilen, dass Go-Dateien für go_default_test und nicht für go_default_library bestimmt sind?

WBOY
WBOYnach vorne
2024-02-08 22:24:10505Durchsuche

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

PHP-Editor Apple stellt Ihnen vor, wie Sie Gazelle-Go-Dateien anweisen, sich auf go_default_test statt auf go_default_library anzuwenden. In der Go-Sprache ist Gazelle ein leistungsstarkes Build-Tool zum Organisieren und Erstellen von Go-Projekten. Standardmäßig behandelt Gazelle alle Dateien, die mit _test.go enden, als Testdateien und schließt sie in go_default_test ein. Manchmal möchten wir jedoch bestimmte Testdateien von go_default_test ausschließen und sie in andere Ziele einschließen, beispielsweise go_default_library. Wie erreicht man das? Als nächstes geben wir Ihnen detaillierte Antworten.

Frageninhalt

Ich habe eine Datei embed_testdata.go,旨在用于测试,但本身没有测试(所以我不想用 _test.go 作为后缀)。我如何告诉 gazelle Handelt es sich tatsächlich um eine Testquelle und nicht um eine Produktionsquelle?

Zu Ihrer Information: Es wird nicht funktionieren, es einfach zu go_default_test hinzuzufügen und aus go_default_library zu entfernen, da gazelle die manuelle Bearbeitung rückgängig macht. go_default_test 并将其从 go_default_library 中删除是行不通的,因为 gazelle 会撤消该手动编辑。

解决方法

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

Lösung

_test.go 文件视为测试,但有两个可以用于此效果,excludekeephttps://www.php.cn/link/9877c66299c5b98d81fed12827d87e4b alles ist eine gültige ngazelle-Direktive.

Es gibt keine spezifische Anweisung, die besagt, dass es etwas anderes sein soll als

:🎜
# gazelle:exclude embed_testdata.go
…
go_test(
    name = "go_default_test",
    srcs = [
        "embed_testdata.go",  # keep
…
🎜Beim Einbetten des Dateisystems benötigen Sie außerdem etwas Ähnliches wie Folgendes: 🎜
go_test(
    name = "go_default_test",
…
    embedsrcs = glob(["testdata/**"]), # keep
…

Das obige ist der detaillierte Inhalt vonWie kann man Gazelle mitteilen, dass Go-Dateien für go_default_test und nicht für go_default_library bestimmt sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen