Wie kann ich die Duplizierung von Testcode in Go-Paketen mit mehreren Dateien vermeiden?

Mary-Kate Olsen
Freigeben: 2024-10-31 10:00:03
Original
621 Leute haben es durchsucht

How Can I Avoid Test Code Duplication in Go Packages with Multiple Files?

Umgang mit gemeinsam genutztem Testcode in Go-Paketen mit mehreren Dateien

In Go-Paketen mit mehreren Dateien ist es üblich, für jede einzelne separate Testdateien zu erstellen Quelldatei. Dies kann jedoch zu einer Codeduplizierung führen, wenn die Tests gemeinsame Hilfsfunktionen erfordern.

Die Lösung: Verwendung gemeinsamer Testpaket-Identifikatoren

Um eine Codereplikation zu vermeiden, ermöglicht Go Tests Dateien innerhalb derselben Paketklausel können ohne explizite Importanweisungen auf die exportierten und nicht exportierten Bezeichner des jeweils anderen verweisen. Dies bedeutet, dass Sie gemeinsam genutzten Testcode in jede der Testdateien einfügen können und dieser für alle anderen Testdateien innerhalb desselben Pakets zugänglich ist.

Beispielstruktur

Betrachten Sie ein Paket mit den folgenden Dateien:

mypackage/
    mypackage.go
    mypackage_test.go
    helper_test.go
Nach dem Login kopieren

Sie können gemeinsame Testhilfsfunktionen in helper_test.go definieren, ohne den Produktionscode zu verschmutzen.

Erklärung

Auch wenn helper_test.go nicht direkt in mypackage_test.go importiert wird, gehört es aufgrund der passenden Paketklausel (Paket mypackage_test) dennoch zum selben Testpaket. Dadurch kann mypackage_test.go auf die in helper_test.go deklarierten Bezeichner zugreifen und so die gemeinsame Nutzung von Code und die Wartbarkeit von Tests ermöglichen.

Zusätzliche Hinweise

  • Sie sind nicht erforderlich um für jede Quelldatei eine Testdatei zu erstellen.
  • Testdateien ohne passende Quelldateien werden ebenfalls unterstützt.
  • Testdateien gehören zu verschiedenen Testpaketen, wenn sich ihre Paketklauseln unterscheiden.

Das obige ist der detaillierte Inhalt vonWie kann ich die Duplizierung von Testcode in Go-Paketen mit mehreren Dateien vermeiden?. 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