Arbeitsverzeichnis in Go-Tests
In Go ist es üblich, Konfigurationsdateien im Arbeitsverzeichnis abzulegen und im Code darauf zu verweisen. Unit-Tests können diese Dateien jedoch möglicherweise nicht finden, wenn die Testumgebung nicht mit der Produktionsumgebung übereinstimmt.
Um ein Arbeitsverzeichnis für Ihre Go-Tests anzugeben, erkunden Sie die folgende Lösung:
Überlegen Sie Verwenden der Caller-Funktion aus dem Laufzeitpaket. Der Aufrufer übernimmt die aktuelle Testquelldatei und gibt deren Pfad zurück. Dieser Pfad kann verwendet werden, um das Arbeitsverzeichnis für das Paketbeispiel test:
package sample
import (
"testing"
"runtime"
"os"
)
func TestGetDirectory(t *testing.T) {
_, filename, _, _ := runtime.Caller(0)
dir := filepath.Dir(filename)
os.Chdir(dir)
// Run tests using configuration files in the modified working directory
}
Mit Caller können Sie den Pfad zur aktuellen Testquelldatei abrufen und das Arbeitsverzeichnis entsprechend festlegen. Dadurch können Ihre Tests Konfigurationsdateien im selben Verzeichnis wie den Testcode finden, wodurch die Fehler „Datei nicht gefunden“ behoben werden sollten.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3