Menguji Argumen Baris Perintah dalam Ujian Unit Go
Dalam soalan anda, anda menyebut isu menggunakan bendera baris arahan dalam unit Go ujian. Anda mempunyai aplikasi modular dengan ujian yang menggunakan set modul aplikasi yang berbeza, beberapa daripadanya ditala melalui bendera baris arahan. Walau bagaimanapun, apabila anda menjalankan ujian dengan bendera baris perintah tersuai, anda mendapat ralat yang menyatakan bahawa bendera tidak ditakrifkan.
Isu asasnya ialah ujian boleh laku menggunakan semua parameter baris perintah melainkan satu atau lebih banyak daripada mereka diabaikan di dalamnya. Dalam kes anda, anda mempunyai berbilang ujian dan sesetengah daripada mereka menggunakan bendera tersuai manakala yang lain tidak.
Untuk menyelesaikan isu ini, anda mempunyai dua pilihan:
go test -test.v ./testfile1_test.go -gamedir.custom=c:/resources go test -test.v ./testfile2_test.go
var customPath string func init() { flag.StringVar(&customPath, "gamedir.custom", "", "Custom game resources directory") } func TestFunc(t *testing.T) { if testing.Short() { return } t.Skip("Skipping this test as it uses `-gamedir.custom` flag") }
Semakan testing.Short() digunakan untuk menentukan sama ada ujian sedang dijalankan dalam mod pendek, yang biasanya berlaku apabila menjalankan semua ujian secara serentak. Jika ujian dijalankan dalam mod pendek, ia akan dilangkau. Jika tidak, ujian akan dilangkau kerana bendera -gamedir.custom tidak digunakan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menguji Argumen Baris Perintah dengan Berkesan dalam Ujian Unit Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!