2015-12-30 7 views

risposta

3

copertura di test cross-pacchetto non è supportato direttamente, ma diverse persone hanno costruito involucri di unire i profili di copertura individuali.

Vedere Issue #6909 per la lunga storia su questo. E vedi gotestcover per uno strumento di esempio per l'unione. C'è anche gocovmerge. Ho costruito la mia versione, quindi non ho provato nessuno di questi, ma sono sicuro che tutti funzionano come i miei, e il mio funziona bene.

La mia sensazione è che questo è solo un problema per il quale nessuno ha scritto una lista di cambiamenti davvero convincente, e non è stato così importante per i manutentori principali, quindi non è stato affrontato. Solleva piccoli casi d'angolo che potrebbero interrompere i test esistenti, quindi gli hack rapidi che funzionano per la maggior parte di noi non sono stati accettati così com'è. Ma non ho visto nessuna discussione che suggerisca ai manutentori principali di opporsi attivamente a questa funzione.

+0

Puoi pubblicare un link per il tuo strumento, Rob? –

+0

@ Rick-777 Il mio è uno strumento interno che è integrato con il nostro sistema di build (con percorsi e logica hardcoded). Ho pensato di renderlo generico e di pubblicarlo; non sarebbe tanto lavoro. Ma ci sono già altri buoni strumenti in questo spazio, quindi non c'è davvero molto bisogno di un altro ancora. –

3

La struttura del programma Go convenzionale mantiene i test con il pacchetto. Come questo:

project 
|-stuff 
|--stuff.go 
|--stuff_test.go 

Nella parte superiore dei file di test è ancora dichiara package stuff, ed è necessario che i tuoi metodi di test assumono la forma TestMethodX se si desidera go test loro esecuzione automatica.

docs vedere andare per ulteriori informazioni: https://golang.org/pkg/testing/

Problemi correlati