ฉันได้เห็นกลยุทธ์การตั้งชื่อแพ็กเกจการทดสอบที่แตกต่างกันหลายแบบภายใน Go และต้องการทราบว่าข้อดีข้อเสียของแต่ละแบบคืออะไรและควรใช้แบบใด
ยุทธศาสตร์ที่ 1:
ชื่อไฟล์: github.com/user/myfunc.go
package myfunc
ชื่อไฟล์ทดสอบ: github.com/user/myfunc_test.go
package myfunc
ดูตัวอย่างbzip2
ยุทธศาสตร์ที่ 2:
ชื่อไฟล์: github.com/user/myfunc.go
package myfunc
ชื่อไฟล์ทดสอบ: github.com/user/myfunc_test.go
package myfunc_test
import (
"github.com/user/myfunc"
)
ดูลวดสำหรับตัวอย่าง
ยุทธศาสตร์ที่ 3:
ชื่อไฟล์: github.com/user/myfunc.go
package myfunc
ชื่อไฟล์ทดสอบ: github.com/user/myfunc_test.go
package myfunc_test
import (
. "myfunc"
)
ดูตัวอย่างสตริง
ไลบรารีมาตรฐาน Go ดูเหมือนจะใช้กลยุทธ์ 1 และ 2 ผสมกันฉันควรใช้ทั้งสามแบบใด มันเป็นความเจ็บปวดที่ผนวกpackage *_test
เข้ากับแพ็คเกจการทดสอบของฉันเพราะมันหมายความว่าฉันไม่สามารถทดสอบวิธีการส่วนตัวของแพ็คเกจของฉันได้ แต่อาจมีข้อได้เปรียบที่ซ่อนอยู่ที่ฉันไม่รู้