Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menguji Bendera Baris Perintah Tersuai dengan Betul dalam Ujian Unit Go?

Bagaimana untuk Menguji Bendera Baris Perintah Tersuai dengan Betul dalam Ujian Unit Go?

DDD
DDDasal
2024-11-28 18:48:15277semak imbas

How to Properly Test Custom Command-Line Flags in Go Unit Tests?

Menguji Bendera Baris Perintah Tersuai dalam Ujian Unit Go

Dalam aplikasi Go modular dengan ujian unit, menetapkan bendera baris arahan tersuai untuk ujian tertentu boleh membuktikan mencabar. Menggunakan pakej bendera untuk menetapkan bendera dalam permulaan ujian boleh mengakibatkan ralat semasa menjalankan ujian.

Masalah

Apabila melaksanakan arahan ujian:

go test -test.v ./... -gamedir.custom=c:/resources

ralat berikut mungkin berlaku:

flag provided but not defined: -gamedir.custom

Ralat ini menunjukkan bahawa -gamedir.custom flag tidak diiktiraf oleh ujian boleh laku.

Analisis

Isu timbul kerana arahan go test menjalankan semua ujian dalam ruang kerja, menggunakan yang disediakan bendera kepada mereka semua. Walau bagaimanapun, jika ujian tertentu tidak menggunakan bendera -gamedir.custom, pelaksanaan ujian akan gagal dengan ralat bendera yang tidak ditentukan.

Penyelesaian

Untuk menyelesaikan masalah ini , anda boleh menjalankan ujian go secara berasingan untuk setiap ujian yang boleh dilaksanakan, dengan menyatakan bendera yang sesuai untuk setiap ujian. Ini boleh dilakukan dengan mengubah suai arahan untuk lulus ujian boleh laku secara terus:

go test -test.v ./path/to/test.go -gamedir.custom=c:/resources

Pendekatan ini memastikan bahawa hanya boleh laku ujian yang ditentukan menerima bendera -gamedir.custom, menyelesaikan ralat bendera yang tidak ditentukan.

Atas ialah kandungan terperinci Bagaimana untuk Menguji Bendera Baris Perintah Tersuai dengan Betul dalam Ujian Unit Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn