Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Menjalankan Ujian Go secara Selektif dan Mengecualikan Pakej atau Direktori Tertentu?

Bagaimanakah Saya Boleh Menjalankan Ujian Go secara Selektif dan Mengecualikan Pakej atau Direktori Tertentu?

Susan Sarandon
Susan Sarandonasal
2024-12-15 21:17:14317semak imbas

How Can I Selectively Run Go Tests and Exclude Specific Packages or Directories?

Ujian Terpilih: Melangkau Pakej dalam Go

Apabila menjalankan suite ujian, anda mungkin menghadapi situasi di mana anda ingin mengecualikan pakej atau direktori tertentu daripada ujian. Dalam Go, adalah mungkin untuk menentukan pakej untuk diuji terus daripada baris arahan.

Sebagai contoh, katakan anda mempunyai struktur projek seperti ini:

mypackage
mypackage/net
mypackage/other
mypackage/scripts

Untuk menguji mypackage sahaja , mypackage/other, dan mypackage/net packages sementara tidak termasuk mypackage/scripts, anda boleh menggunakan yang berikut arahan:

go test import/path/to/mypackage import/path/to/mypackage/other import/path/to/mypackage/net

Sebagai alternatif, jika sintaks shell pilihan anda membenarkannya, anda boleh menggunakan trengkas berikut:

go test import/path/to/mypackage{,/other,/net}

Pendekatan lain melibatkan penggunaan senarai pergi, yang mengembalikan senarai pakej memadankan corak yang diberikan. Anda boleh menyalurkan output ini kepada arahan seperti grep dan menapis keluar pakej yang anda tidak mahu uji, seperti:

go test `go list ./... | grep -v directoriesToSkip`

Dalam kes di mana sebab melangkau ujian adalah untuk mengoptimumkan masa jalan, ujian fungsi sendiri boleh menyemak ujian.Short() dan memutuskan sama ada untuk melangkau menggunakan t.Skip(). Ini membolehkan ujian terpilih apabila memanggil ujian go -short.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjalankan Ujian Go secara Selektif dan Mengecualikan Pakej atau Direktori Tertentu?. 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