Paketbenennungsstrategien für Go-Unit-Tests
In Go gibt es mehrere Strategien zur Benennung von Testpaketen. Das Verständnis ihrer Vor- und Nachteile hilft bei der Auswahl der am besten geeigneten Strategie für Ihr Projekt.
Strategieanalyse
Strategie 1:
Diese Strategie lokalisiert den Testcode im selben Paket wie der getestete Code. Es ermöglicht den Zugriff auf nicht exportierte Bezeichner und ermöglicht so Unit-Tests zur Untersuchung interner Variablen, Funktionen und Methoden. Das Anhängen von *_test an Testpakete kann jedoch zu Namensinkonsistenzen führen.
Strategie 2:
Diese Strategie platziert den Testcode in einem separaten Paket. Dadurch wird sichergestellt, dass der Testcode nur auf exportierte Identifikatoren zugreift, was Black-Box-Tests ermöglicht. Es schränkt jedoch den Zugriff auf nicht exportierte Bezeichner ein, was für Unit-Tests, die einen solchen Zugriff erfordern, ein Nachteil sein kann.
Strategie 3:
Diese Strategie ist eine Variante von Strategie 2 und ermöglicht dem Testcode den Zugriff auf nicht exportierte Bezeichner durch Importieren von myfunc mit dem '.' Notation. Es kombiniert die Vorteile beider Strategien, kann jedoch zu Namespace-Kollisionen führen, wenn mehrere Pakete das „.“ verwenden. Notation.
Welche Strategie soll gewählt werden?
Die Wahl hängt vom Testansatz ab:
Das obige ist der detaillierte Inhalt vonWas ist die beste Go-Paketbenennungsstrategie für Unit-Tests?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!