Wie man Tests in Go für Pakete in verschachtelten Unterverzeichnissen richtig organisiert und ausführt?
Hallo zusammen! Ich lerne Go und bin auf ein Problem beim Schreiben von Tests für ein Projekt mit einer Unterverzeichnisstruktur gestoßen. Mein Projekt sieht so aus:
```
myapp/
├── main.go
├── handlers/
│ ├── user.go
│ └── user_test.go
├── models/
│ ├── user.go
│ └── user_test.go
└── utils/
└── helpers.go
```
In der Datei `handlers/user_test.go` versuche ich, Funktionen aus `utils/helpers.go` zu importieren, aber wenn ich `go test ./...` aus dem Projektstamm ausführe, schlagen die Tests mit einem Fehler wie "undefined: SomeFunction" oder "package myapp/utils is not in GOROOT" fehl.
Wenn ich `go test` aus dem Ordner `handlers/` heraus ausführe, funktionieren die Tests, aber nur, wenn sie keine imports aus anderen meiner Pakete enthalten. Ich habe gelesen, dass Go Tests selbst findet, aber ich verstehe nicht, wie man Tests in Unterverzeichnissen richtig mit anderen Teilen des Projekts verbindet.
Könnt ihr mir sagen, wie man Tests in Unterverzeichnissen richtig organisiert? Muss man go.mod oder die Importpfade speziell konfigurieren? Und wie führt man alle Tests auf einmal aus, damit sie funktionieren?
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen
Blogs