Heim >Backend-Entwicklung >Golang >Wie organisiere ich Go-Tests und Beispiele in Unterverzeichnissen für einen übersichtlicheren Arbeitsbereich?

Wie organisiere ich Go-Tests und Beispiele in Unterverzeichnissen für einen übersichtlicheren Arbeitsbereich?

Barbara Streisand
Barbara StreisandOriginal
2024-11-17 21:07:01423Durchsuche

How to Organize Go Tests and Examples in Subdirectories for a Cleaner Workspace?

Golang-Unterverzeichnistests

Frage: Ist es möglich, ein Go-Paket mit organisierten Tests und Beispielen zu erstellen? in Unterverzeichnissen, um einen übersichtlicheren Arbeitsbereich zu gewährleisten?

Antwort: Ja. Sie können Go-Tests rekursiv mit dem Befehl go test ./... ausführen und dabei alle zu testenden Pakete auflisten.

Testdateiplatzierung

Unterverzeichnistest Dateien:

Wenn Sie Ihre _test.go-Dateien in einem Unterordner ablegen, werden sie vom Befehl go test ./... eingefügt. Allerdings müssen Sie exportierten Variablen und Funktionen den Paketnamen voranstellen, um den Zugriff in der Testdatei zu ermöglichen. Auf nicht exportierte Inhalte kann weiterhin nicht zugegriffen werden.

Testdateien im gleichen Verzeichnis:

Trotz der Option für Unterverzeichnis-Testdateien bleibt es aufgrund der einfacheren Vorgehensweise vorzuziehen, diese neben der Hauptquelldatei aufzubewahren Barrierefreiheit.

Codeabdeckung

Für Codeabdeckung mit -cover oder -coverprofile:

  • Verwenden Sie go test -coverpkg=./. .. ./... für die Abdeckung aller Pakete.
  • Alternativ können Sie go-cover-treemap.io für die interaktive Abdeckungsvisualisierung verwenden.

Integration Testing Coverage

Ab Go 1.20 erstrecken sich die Coverage-Tools auf Integrationstests:

  • Verwenden Sie go build -cover -o myprogram.exe myprogram.go, um eine ausführbare Datei mit Coverage zu erstellen.
  • Führen Sie GOCOVERDIR=somedata ./myprogram.exe aus, um Abdeckungsdaten zu sammeln.
  • Abdeckungsdateien werden in somedata generiert.

Separate Pakettests

Laut kbolino können Sie Tests in einem separaten Paket platzieren, ohne dass ein separates Verzeichnis erforderlich ist. Dadurch können Testdateien den Namen foo_test erhalten und sich im selben Verzeichnis wie das Paket foo befinden, während der Zugriff weiterhin auf private Mitglieder beschränkt wird.

Das obige ist der detaillierte Inhalt vonWie organisiere ich Go-Tests und Beispiele in Unterverzeichnissen für einen übersichtlicheren Arbeitsbereich?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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