Si noti che è possibile run go test
"ricorsivamente": è necessario lista tutti i pacchetti che si desidera testare.
Se sei la cartella principale del progetto Go, Tipo:
go test ./...
Il './...
' notazione è descritta nella sezione "Description of package lists" della "command go
":
Un percorso di importazione è uno schema se include uno o più caratteri "...
", ognuno dei quali può corrispondere a qualsiasi stringa, inclusa la stringa vuota e le stringhe contenenti barre.
Tale modello si espande in tutte le directory dei pacchetti che si trovano negli alberi GOPATH
con nomi corrispondenti ai modelli.
Come caso speciale, x/...
corrisponde a x
e alle sottodirectory di x
.
Ad esempio, net/...
si espande a net
e pacchetti nelle relative sottodirectory.
Se a mantenere i file _test.go
in una sottocartella, il comando 'go test ./...
' sarà in grado di raccoglierli.
Ma:
- dovrai prefisso le variabili e le funzioni esportate (utilizzato nelle prove) con il nome del pacchetto, in modo che il file di test per essere in grado di accedere al pacchetto esportato contenuti.
- non si accederà al contenuto non esportato.
Detto questo, preferirei comunque mantenere il file _test.go
accanto al file sorgente principale: è più facile da trovare.
Nota: 'go test./...' esegue test sulla cartella corrente * e * su tutte le sottocartelle. Vedi [la mia risposta qui sotto] (http://stackoverflow.com/a/21725603/6309) – VonC
Possibile duplicato di [Come fare per andare a testare tutti i test nel mio progetto?] (Http://stackoverflow.com/ domande/16353016/how-to-go-test-all-testings-nel-mio-progetto) –
stavo pensando la stessa cosa. avendo problemi a mettere i test n una dir separata perché il diretore sullo stesso livello ha sub dir. –