Wie teste ich die Funktionen des Hauptpakets in Golang?
Ich möchte einige Funktionen testen, die in meinem Hauptpaket enthalten sind, aber meine Tests scheinen nicht in der Lage zu sein, auf diese Funktionen zuzugreifen.
Meine main.go-Beispieldatei sieht folgendermaßen aus:
package main
import (
"log"
)
func main() {
log.Printf(foo())
}
func foo() string {
return "Foo"
}
und meine main_test.go-Datei sieht so aus:
package main
import (
"testing"
)
func Foo(t testing.T) {
t.Error(foo())
}
wenn ich rennego test main_test.go
Ich bekomm
# command-line-arguments
.\main_test.go:8: undefined: foo
FAIL command-line-arguments [build failed]
Wie ich verstehe, konnte ich die Testdatei auch dann nicht importieren, wenn ich sie an einen anderen Ort verschoben und aus der main.go-Datei importiert habe, da es sich um @ handelpackage main
.
Was ist die richtige Art, solche Tests zu strukturieren? Soll ich einfach alles aus dem @ entfernmain
package hat eine einfache Hauptfunktion, mit der Sie alles ausführen und dann die Funktionen in ihrem eigenen Paket testen können, oder gibt es eine Möglichkeit, diese Funktionen beim Testen aus der Hauptdatei aufzurufen?