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

Wie teile ich Code zwischen Testdateien in Go-Paketen?

Linda Hamilton
Linda HamiltonOriginal
2024-10-29 20:17:301041Durchsuche

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>

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>

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!

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