Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mengendalikan Bendera Baris Perintah Tersuai dalam Ujian Unit Go?
Apabila bekerja dengan aplikasi Go termodular dan ujian unit yang menggunakan modul aplikasi tertentu, mungkin sukar untuk menguji perintah- kefungsian baris yang bergantung pada bendera yang ditentukan pengguna.
Pertimbangkan perkara berikut contoh:
func init() { flag.StringVar(&this.customPath, "gamedir.custom", "", "Custom game resources directory") }
Apabila cuba menguji fungsi ini dengan arahan:
go test -test.v ./... -gamedir.custom=c:/resources
masa jalan mengembalikan ralat:
flag provided but not defined: -gamedir.custom
Ralat timbul kerana arahan go test menjalankan ujian individu secara serentak. Apabila menggunakan bendera -test.v, berbilang boleh laku ujian dibuat, masing-masing dengan bendera baris arahannya sendiri. Jika ujian tertentu tidak mengendalikan bendera -gamedir.custom secara eksplisit, ia akan gagal dengan ralat yang disebutkan di atas.
Untuk menyelesaikan isu ini, tentukan arahan -bendera baris dalam setiap fail ujian. Ini memastikan bahawa setiap ujian boleh laku boleh mengendalikan bendera yang diperlukan.
Contohnya:
func TestMyModule(t *testing.T) { flag.StringVar(&this.customPath, "gamedir.custom", "", "Custom game resources directory") // Test code here... }
Dengan mentakrifkan bendera dalam setiap fungsi ujian, kami memastikan bahawa semua boleh laku ujian mempunyai bendera yang sesuai ditakrifkan dan boleh berjalan tanpa ralat.
Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan Bendera Baris Perintah Tersuai dalam Ujian Unit Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!