Heim > Backend-Entwicklung > Golang > Können wir Go-Tests in Unterverzeichnissen organisieren?

Können wir Go-Tests in Unterverzeichnissen organisieren?

Susan Sarandon
Freigeben: 2024-11-17 08:16:04
Original
384 Leute haben es durchsucht

Can We Organize Go Tests in Subdirectories?

Go-Pakete mit Unterverzeichnissen testen

Im Bereich der Go-Entwicklung stellt sich häufig die Frage: Können wir unsere Tests zur Verbesserung in Unterverzeichnissen organisieren? Sauberkeit am Arbeitsplatz? Dieser Artikel soll Licht in dieses Thema bringen.

Testpraktiken und Go-Konventionen

Traditionell wird in der Go-Dokumentation empfohlen, Testcode an derselben Stelle wie den Produktionscode zu platzieren. Obwohl es den Zugriff auf nicht exportierte Programmmitglieder vereinfacht, kann dieser Ansatz zu einem überfüllten Arbeitsbereich führen. Es gibt jedoch eine Möglichkeit, Tests in Unterverzeichnisse zu unterteilen und gleichzeitig die Zugänglichkeit beizubehalten.

Tests rekursiv ausführen

Um Tests über mehrere Unterverzeichnisse hinweg auszuführen, können Sie den „Go-Test“ nutzen "-Befehl mit der Notation „./...“. Geben Sie im Stammverzeichnis des Projekts Folgendes ein:

go test ./...
Nach dem Login kopieren

Dieser Befehl durchläuft rekursiv die Verzeichnisstruktur des Projekts und identifiziert und führt alle gefundenen Testdateien aus.

Überlegungen zu separaten Verzeichnissen

Wenn sich Tests in separaten Verzeichnissen befinden, erfordern sie besondere Aufmerksamkeit. Stellen Sie sicher, dass exportierten Variablen und Funktionen innerhalb des Hauptpakets der Paketname vorangestellt wird. Dadurch können die Testdateien auf den exportierten Inhalt zugreifen. Darüber hinaus bleibt der Zugriff auf nicht exportierte Inhalte weiterhin unzugänglich.

Paket- und Verzeichnistrennung

Während die Verzeichnistrennung eine sauberere Organisation ermöglicht, bleibt die Testdatei neben der Hauptquelle Datei bleibt eine praktische Wahl für den einfachen Dateispeicherort.

Codeabdeckung vorbei Zeit

Um aggregierte Codeabdeckungsstatistiken für Go-Projekte innerhalb von CI/CD-Pipelines zu generieren, verwenden Sie das Projekt „gocoverstats“.

Integrationstestabdeckung

Ab Go 1.20 erstrecken sich die Coverage-Tools nun auch auf Integrationstests und ermöglichen die Erfassung von Profilen aus größeren Tests Suiten.

Alternativer Testansatz

Alternativ können Sie erwägen, Tests in separaten Paketen statt in Unterverzeichnissen zu organisieren. Testdateien für ein Paket „foo“ können sich in einem Paket namens „foo_test“ befinden und dennoch im selben Verzeichnis verbleiben. Dieser Ansatz verhindert den Zugriff auf nicht exportierte Mitglieder des Pakets „foo.“

Das obige ist der detaillierte Inhalt vonKönnen wir Go-Tests in Unterverzeichnissen organisieren?. 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