2016-09-27 2 views
1

Ich habe eine einzige Testfunktion in meiner Datei _test.go mit einer Reihe von Untertests. Es sieht wie folgt aus:Golang Test gibt inkonsistente Ergebnisse, wenn im ausführlichen Modus ausgeführt

func MyTest(t *testing.T) { 
    t.Run("Subtest1", func(t *testing.T) { 
     ... 
    }) 
    t.Run("Subtest2", func(t *testing.T) { 
     ... 
    }) 
} 

ich den Test mit go test laufen und bekommen

PASS 
ok  package_path 9.137s 

Allerdings würde ich aufgelistet alle meine subtests im Ergebnis sehen möchten. Mit Blick auf die Run Funktion in $GOROOT/src/testing/testing.go sieht es so aus, als ob ich den Test zu chatty benötigen würde. So

Ich habe versucht, den Test über go test -v laufen, aber ich weiß immer noch nicht die gewünschte Ausgabe erhalten. Stattdessen mein Test jetzt versagt:

=== RUN MyTest 
api.test: error: expected argument for flag '-t', try --help 
exit status 1 
FAIL package_path 0.004s 

--help nichts besagen über -t

+0

ziemlich komisch. funktioniert es mit 'go test -v github.com/Jana/MyRepo/...'? – Plato

+1

Können Sie das gleiche Verhalten mit diesem einfachen Beispiel bestätigen? https://gist.github.com/benjic/956cc4b7bd50d4b5f7dc229b73a7b1ae –

Antwort

0

Dies erwies sich als ein Problem mit dem Code, den ich testete die ihre eigenen Argumente erwartet und enthielt die folgende Zeile:

kingpin.MustParse(cli.Parse(os.Args[1:])) 

weiß, dass ich das Parsen von Argumenten im Test nicht zulassen.

Verwandte Themen