Heim > Backend-Entwicklung > Golang > Wie teile ich Code zwischen Testdateien in Go-Paketen?

Wie teile ich Code zwischen Testdateien in Go-Paketen?

Linda Hamilton
Freigeben: 2024-10-29 20:17:30
Original
1046 Leute haben es durchsucht

How to Share Code Between Test Files in Go Packages?

Gemeinsam genutzter Code für Tests in Go-Paketen

In Go kann das Organisieren von Testcode für ein Paket Fragen dazu aufwerfen, wo gemeinsam genutzte Funktionen platziert werden sollen über Testdateien hinweg.

Problem:
Ein Paket enthält mehrere Dateien, jede mit einer entsprechenden Testdatei. Testfälle nutzen gängige Hilfsfunktionen, die nicht in den Paketquelldateien enthalten sein sollten.

Lösung:
Go ermöglicht Testdateien die gemeinsame Nutzung von Code ohne explizite Importanweisungen. Instanziieren Sie einfach die gemeinsam genutzten Funktionen in einer der Testdateien und machen Sie sie für andere Testdateien verfügbar, die dieselbe Paketklausel verwenden.

Zum Beispiel:

<code class="go">package foo_test

import "testing"

func setupHelper() {}  // Shared helper function

func Test1(t *testing.T) {
    setupHelper()
}

func Test2(t *testing.T) {
    setupHelper()
}</code>
Nach dem Login kopieren

Alternativ können Testdateien gemeinsam genutzt werden Code erstellen, ohne für jede eine separate Datei zu erstellen.

<code class="go">package foo

import "testing"

func Test1(t *testing.T) {
    // Shared code can go here
}

func Test2(t *testing.T) {
    // Shared code can also go here
}</code>
Nach dem Login kopieren

Beachten Sie, dass Testdateien möglicherweise dieselbe oder unterschiedliche Paketklauseln verwenden, was sich auf die Sichtbarkeit der Bezeichner zwischen ihnen auswirkt.

Das obige ist der detaillierte Inhalt vonWie teile ich Code zwischen Testdateien in Go-Paketen?. 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