Menguji Pakej Khusus Semasa Mengecualikan Yang Lain
Arahan "go test" Go membolehkan pembangun melaksanakan ujian dalam projek. Walau bagaimanapun, mungkin terdapat senario yang menguji pakej atau direktori tertentu tidak diperlukan atau tidak diingini. Soalan ini meneroka kemungkinan melangkau direktori tertentu daripada ujian.
Jawapan:
1. Doa Eksplisit:
Satu kaedah ialah menggunakan seruan eksplisit "go test" untuk setiap pakej yang akan diuji. Sebagai contoh, memandangkan struktur yang dibentangkan:
mypackage mypackage/net mypackage/other mypackage/scripts
Ujian boleh dijalankan pada "mypackage," "mypackage/other," dan "mypackage/net" sambil mengecualikan "mypackage/scripts" dengan melaksanakan arahan berikut :
cd mypackage go test cd net go test cd other go test
Ia juga mungkin untuk menyediakan senarai pakej yang dipisahkan koma untuk diuji, termasuk direktori laluan:
go test mypackage,mypackage/other,mypackage/net
2. Invocation Berasaskan Shell:
Bergantung pada shell yang digunakan, adalah mungkin untuk menggunakan berbilang ujian menggunakan pengembangan kad bebas. Contohnya, dengan Bash atau Zsh:
go test mypackage/{,other,net}
3. Pengecualian Menggunakan "go list":
"go list" boleh digunakan untuk menyenaraikan semua pakej yang biasanya akan diuji. Dengan menyalurkan output melalui grep dan mengecualikan direktori yang tidak diingini, senarai yang ditapis boleh diperolehi. Senarai ini kemudiannya boleh dihantar ke "pergi ujian":
go test $(go list ./... | grep -v directoriesToSkip)
4. Menggunakan ujian.Short() Flag:
Jika ujian dilangkau kerana panjang atau kosnya, bendera "testing.Short()" boleh digunakan. Ujian yang memenuhi syarat tertentu boleh menyemak "testing.Short()" dan memanggil "t.Skip()" untuk mengecualikan diri mereka daripada ujian.
Untuk melangkau ujian dalam "mypackage," perkara berikut boleh digunakan:
go test -short mypackage/
atau
go test -short ./...
Dengan menggunakan teknik ini, pembangun boleh menjalankan ujian secara terpilih pada pakej yang dikehendaki manakala tidak termasuk yang lain. Fleksibiliti ini boleh meningkatkan kecekapan dan kemudahan dalam proses ujian.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjalankan Ujian Go untuk Pakej Tertentu Walaupun Tidak Termasuk Yang Lain?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!