Heim  >  Artikel  >  Backend-Entwicklung  >  Wie teile ich Code zwischen Testdateien in einem Go-Paket?

Wie teile ich Code zwischen Testdateien in einem Go-Paket?

Barbara Streisand
Barbara StreisandOriginal
2024-10-29 05:57:311035Durchsuche

How to Share Code Between Test Files in a Go Package?

Wo soll gemeinsam genutzter Code für Tests in einem Go-Paket gespeichert werden?

Beim Organisieren eines Go-Pakets mit mehreren Dateien ist es üblich, es zu erstellen eine entsprechende Testdatei für jede Quelldatei. Wenn Tests jedoch allgemeine Hilfsfunktionen erfordern, kann es umständlich sein, den Code über mehrere Testdateien hinweg zu duplizieren.

Lösung:

Die empfohlene Lösung besteht darin, gemeinsam genutzten Code für zu platzieren Tests in einer der Testdateien. Obwohl sie sich in unterschiedlichen Dateien befinden, gehören Testdateien innerhalb desselben Pakets zum selben Testpaket und können ohne Importanweisungen auf die exportierten und nicht exportierten Kennungen des jeweils anderen zugreifen.

Best Practices:

  • Erstellen Sie bei Bedarf für jede Quelldatei eine separate _test.go-Datei, dies ist jedoch nicht zwingend erforderlich.
  • Verwenden Sie dieselbe Paketklausel in Testdateien für Black-Box-Tests (Paket a_test und b_test für Paket a).
  • Verwenden Sie Paket a in Testdateien für White-Box-Tests, um den Zugriff auf Bezeichner aus verschiedenen Testdateien zu ermöglichen.
  • Beachten Sie, dass unterschiedliche Paketklauseln in Testdateien zu separaten Testpaketen führen , wodurch der Zugriff auf freigegebenen Code verhindert wird.

Das obige ist der detaillierte Inhalt vonWie teile ich Code zwischen Testdateien in einem Go-Paket?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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