Saya telah melihat beberapa strategi penamaan paket pengujian yang berbeda dalam Go dan ingin tahu apa pro dan kontra masing-masing dan mana yang harus saya gunakan.
Strategi 1:
Nama file: github.com/user/myfunc.go
package myfunc
Uji nama file: github.com/user/myfunc_test.go
package myfunc
Lihat bzip2 sebagai contoh.
Strategi 2:
Nama file: github.com/user/myfunc.go
package myfunc
Uji nama file: github.com/user/myfunc_test.go
package myfunc_test
import (
"github.com/user/myfunc"
)
Lihat kabel sebagai contoh.
Strategi 3:
Nama file: github.com/user/myfunc.go
package myfunc
Uji nama file: github.com/user/myfunc_test.go
package myfunc_test
import (
. "myfunc"
)
Lihat string sebagai contoh.
Pustaka standar Go tampaknya menggunakan campuran strategi 1 dan 2. Manakah dari ketiganya yang harus saya gunakan? Ini menyakitkan menambahkan package *_test
paket pengujian saya karena itu berarti saya tidak dapat menguji metode pribadi paket saya tetapi mungkin ada keuntungan tersembunyi yang tidak saya sadari?