Tôi đã thấy một số chiến lược đặt tên gói thử nghiệm khác nhau trong Go và muốn biết ưu nhược điểm của từng loại và tôi nên sử dụng chiến lược nào.
Chiến lược 1:
Tên tệp: github.com/user/myfunc.go
package myfunc
Tên tệp kiểm tra: github.com/user/myfunc_test.go
package myfunc
Xem bzip2 để làm ví dụ.
Chiến lược 2:
Tên tệp: github.com/user/myfunc.go
package myfunc
Tên tệp kiểm tra: github.com/user/myfunc_test.go
package myfunc_test
import (
"github.com/user/myfunc"
)
Xem dây để làm ví dụ.
Chiến lược 3:
Tên tệp: github.com/user/myfunc.go
package myfunc
Tên tệp kiểm tra: github.com/user/myfunc_test.go
package myfunc_test
import (
. "myfunc"
)
Xem chuỗi để làm ví dụ.
Thư viện tiêu chuẩn cờ vây dường như sử dụng hỗn hợp chiến lược 1 và 2. Tôi nên sử dụng chiến lược nào trong cả ba? Đó là một nỗi đau liên quan package *_test
đến các gói thử nghiệm của tôi vì nó có nghĩa là tôi không thể kiểm tra các phương pháp riêng tư của gói nhưng có thể có một lợi thế ẩn mà tôi không biết?