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

Linda Hamilton
Freigeben: 2024-11-26 11:25:10
Original
521 Leute haben es durchsucht

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 ./...
Nach dem Login kopieren

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=./... ./...
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Quelle:php.cn
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage