Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Menjalankan Ujian Go untuk Pakej Tertentu Walaupun Tidak Termasuk Yang Lain?

Bagaimanakah Saya Boleh Menjalankan Ujian Go untuk Pakej Tertentu Walaupun Tidak Termasuk Yang Lain?

DDD
DDDasal
2024-11-30 01:32:13931semak imbas

How Can I Run Go Tests for Specific Packages While Excluding Others?

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!

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