Apabila menjalankan ujian dalam Go, menghadapi ralat "pengujian: amaran: tiada ujian untuk dijalankan" walaupun mempunyai fungsi ujian boleh mengecewakan. Inilah sebab mengapa anda mungkin menghadapi isu ini dan cara menyelesaikannya:
Fungsi ujian Go mengikut konvensyen penamaan tertentu: ia mesti bermula dengan awalan "Ujian". Jika fungsi ujian anda dinamakan "testNormalizePhoneNum" dan bukannya "TestNormalizePhoneNum," dengan huruf besar "T", alat ujian akan mengabaikannya. Namakan semula fungsi untuk mematuhi konvensyen ini.
Untuk senario lanjutan di mana anda perlu menguji fungsi yang tidak mengikut konvensyen penamaan, anda boleh menggunakan bendera -run dalam arahan go test. Bendera ini membolehkan anda menentukan ungkapan biasa yang sepadan dengan nama fungsi ujian. Sebagai contoh, untuk memaksa pelaksanaan "testNormalizePhoneNum":
go test -run=testNormalizePhoneNum
Satu lagi sebab yang berpotensi untuk ralat "tiada ujian untuk dijalankan" ialah fail ujian anda tidak disertakan dalam suite ujian. Pastikan fail main_test.go anda berada dalam direktori yang sama seperti main.go dan nama fail ujian berakhir dengan "_test.go".
Jika nama pakej dalam fail main_test.go anda tidak sepadan dengan nama pakej dalam main.go, alat ujian tidak akan mengenali fungsi ujian. Pastikan nama pakej adalah sama dalam kedua-dua fail.
Fungsi ujian mesti mempunyai tandatangan tertentu. Ia sepatutnya mengambil satu hujah jenis *testing.T dan tidak sepatutnya mengembalikan apa-apa. Jika fungsi ujian anda tidak memenuhi keperluan ini, alat ujian tidak akan menganggapnya sebagai fungsi ujian yang sah.
Dengan mematuhi garis panduan ini, anda boleh memastikan bahawa fungsi ujian anda diiktiraf dan dilaksanakan dengan betul oleh ujian alat, membolehkan anda menguji kod Go anda dengan berkesan.
Atas ialah kandungan terperinci Mengapa Go Laporkan 'pengujian: amaran: tiada ujian untuk dijalankan' Walaupun Fungsi Ujian Wujud?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!