Heim >Backend-Entwicklung >Golang >Wie teste ich Funktionen im „Hauptpaket' aus separaten Testdateien?

Wie teste ich Funktionen im „Hauptpaket' aus separaten Testdateien?

Linda Hamilton
Linda HamiltonOriginal
2024-11-27 14:48:10907Durchsuche

How to Test Functions in the `main` Package from Separate Test Files?

Hauptpaketfunktionen testen

Beim Schreiben von Tests für Funktionen innerhalb des Hauptpakets können Probleme beim Zugriff auf diese über in einem separaten Paket definierte Tests auftreten Datei. Dies liegt daran, dass das Hauptpaket standardmäßig nicht explizit in Testdateien importiert wird. Um dieses Problem zu lösen, können Sie zwei Ansätze in Betracht ziehen:

1. Geben Sie die Hauptpaketdateien in der Befehlszeile an

Um sicherzustellen, dass das Hauptpaket in den Testprozess einbezogen wird, müssen Sie beim Ausführen von sowohl die Dateien main.go als auch main_test.go in der Befehlszeile angeben Tests. Zum Beispiel:

go test main.go main_test.go

Dadurch wird sichergestellt, dass das Hauptpaket verfügbar ist und in der Testdatei referenziert werden kann.

2. Ändern Sie den Namen und die Signatur der Testfunktion.

Um über eine separate Testdatei auf Funktionen im Hauptpaket zuzugreifen, stellen Sie sicher, dass die Testfunktion diesen Konventionen folgt:

  • Der Name der Testfunktion muss mit „Test“ beginnen, gefolgt von der zu testenden Funktion.
  • Die Testfunktion muss als erstes einen Zeiger auf test.T annehmen Parameter.

Zum Beispiel würde die folgende modifizierte Testfunktion die foo()-Funktion korrekt aufrufen:

package main

import (
    "testing"
)

func TestFoo(t *testing.T) {
    t.Error(foo())
}

Durch Befolgen dieser Schritte können Sie Funktionen innerhalb der Hauptfunktion erfolgreich testen Paket aus separaten Testdateien.

Das obige ist der detaillierte Inhalt vonWie teste ich Funktionen im „Hauptpaket' aus separaten Testdateien?. 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