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
Freigeben: 2024-02-08 22:24:10
nach vorne
504 Leute haben es durchsucht

如何告诉瞪羚 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
…
Nach dem Login kopieren
🎜Beim Einbetten des Dateisystems benötigen Sie außerdem etwas Ähnliches wie Folgendes: 🎜
go_test(
    name = "go_default_test",
…
    embedsrcs = glob(["testdata/**"]), # keep
…
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:stackoverflow.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage