Ho visto diverse strategie di denominazione dei pacchetti di test all'interno di Go e volevo sapere quali sono i pro ei contro di ciascuno e quale dovrei usare.
Strategia 1:
Nome file: github.com/user/myfunc.go
package myfunc
Nome del file di prova: github.com/user/myfunc_test.go
package myfunc
Vedi bzip2 per un esempio.
Strategia 2:
Nome file: github.com/user/myfunc.go
package myfunc
Nome del file di prova: github.com/user/myfunc_test.go
package myfunc_test
import (
"github.com/user/myfunc"
)
Vedi filo per un esempio.
Strategia 3:
Nome file: github.com/user/myfunc.go
package myfunc
Nome del file di prova: github.com/user/myfunc_test.go
package myfunc_test
import (
. "myfunc"
)
Vedi stringhe per un esempio.
La libreria standard Go sembra utilizzare una combinazione di strategia 1 e 2. Quale delle tre dovrei usare? È un package *_test
problema aggiungere ai miei pacchetti di test perché significa che non posso testare i metodi privati dei miei pacchetti, ma forse c'è un vantaggio nascosto di cui non sono a conoscenza?