Heim  >  Artikel  >  Backend-Entwicklung  >  Können Sie in Go Tests in Unterverzeichnissen ausführen?

Können Sie in Go Tests in Unterverzeichnissen ausführen?

Linda Hamilton
Linda HamiltonOriginal
2024-11-26 11:25:10523Durchsuche

Can You Run Tests in Subdirectories in Go?

Tests in Unterverzeichnissen in Go ausführen

Die Organisation Ihres Arbeitsbereichs durch die Platzierung von Tests und Beispielen in Unterverzeichnissen ist ein effizienter Ansatz. In diesem Artikel werden die Machbarkeit und die erforderlichen Schritte untersucht, um dies in Go zu erreichen.

Testen in Unterverzeichnissen

Go ermöglicht Ihnen das Ausführen von Tests aus Unterverzeichnissen, indem Sie den vollständigen Pfad mit „ ./...":

go test ./...

Dieser Befehl durchsucht alle Unterverzeichnisse nach Paketen und führt die darin enthaltenen Tests aus. Es sind jedoch einige Auswirkungen zu berücksichtigen.

Paketzugriff und -sichtbarkeit

Beim Platzieren von Testdateien in Unterverzeichnissen ist es wichtig, exportierten Variablen und Funktionen den Paketnamen voranzustellen damit die Testdatei auf die exportierten Inhalte zugreifen kann. Nicht exportierte Mitglieder sind nicht zugänglich.

go test vs. go test -cover

Bei Verwendung von go test -cover Für die Codeabdeckung ist es wichtig, -coverpkg=./... zu verwenden, um Abdeckungsdaten von allen zu sammeln Pakete:

go test -coverpkg=./... ./...

Integrationstests

Seit Go 1.20 werden nun Integrationstests für die Abdeckungsprofilierung unterstützt. Verwenden Sie -cover beim Erstellen der ausführbaren Datei und GOCOVERDIR, um den Speicherort für Abdeckungsdaten anzugeben:

go build -cover -o myprogram.exe myprogram.go
mkdir somedata
GOCOVERDIR=somedata ./myprogram.exe

Alternativer Ansatz

Sie können Tests auch in ein anderes Paket aufteilen, ohne sie in einem Unterverzeichnis abzulegen. Tests für das Paket „foo“ können sich beispielsweise im Paket „foo_test“ im selben Verzeichnis befinden, wodurch der Zugriff nur auf die exportierten Mitglieder von „foo“ sichergestellt wird.

Fazit

Obwohl die Ausführung von Tests aus Unterverzeichnissen technisch möglich ist, ist dies möglicherweise nicht die beste Vorgehensweise für Organisation und Zugänglichkeit. Der alternative Ansatz, ein separates Testpaket im selben Verzeichnis zu erstellen, ist eine praktikable Option für eine effizientere Verwaltung von Tests.

Das obige ist der detaillierte Inhalt vonKönnen Sie in Go Tests in Unterverzeichnissen ausführen?. 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