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 ./...
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!