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?

Nov 30, 2024 am 01:32 AM

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
Salin selepas log masuk

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
Salin selepas log masuk

Ia juga mungkin untuk menyediakan senarai pakej yang dipisahkan koma untuk diuji, termasuk direktori laluan:

go test mypackage,mypackage/other,mypackage/net
Salin selepas log masuk

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}
Salin selepas log masuk

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)
Salin selepas log masuk

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/
Salin selepas log masuk

atau

go test -short ./...
Salin selepas log masuk

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 Laman Web ini
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

Alat panas Tag

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

GO Language Pack Import: Apakah perbezaan antara garis bawah dan tanpa garis bawah? GO Language Pack Import: Apakah perbezaan antara garis bawah dan tanpa garis bawah? Mar 03, 2025 pm 05:17 PM

GO Language Pack Import: Apakah perbezaan antara garis bawah dan tanpa garis bawah?

Bagaimana saya menulis objek dan stub untuk ujian di GO? Bagaimana saya menulis objek dan stub untuk ujian di GO? Mar 10, 2025 pm 05:38 PM

Bagaimana saya menulis objek dan stub untuk ujian di GO?

Bagaimana untuk melaksanakan pemindahan maklumat jangka pendek antara halaman dalam kerangka beego? Bagaimana untuk melaksanakan pemindahan maklumat jangka pendek antara halaman dalam kerangka beego? Mar 03, 2025 pm 05:22 PM

Bagaimana untuk melaksanakan pemindahan maklumat jangka pendek antara halaman dalam kerangka beego?

Bagaimana saya boleh menentukan kekangan jenis tersuai untuk generik di GO? Bagaimana saya boleh menentukan kekangan jenis tersuai untuk generik di GO? Mar 10, 2025 pm 03:20 PM

Bagaimana saya boleh menentukan kekangan jenis tersuai untuk generik di GO?

Bagaimana saya boleh menggunakan alat pengesanan untuk memahami aliran pelaksanaan aplikasi saya? Bagaimana saya boleh menggunakan alat pengesanan untuk memahami aliran pelaksanaan aplikasi saya? Mar 10, 2025 pm 05:36 PM

Bagaimana saya boleh menggunakan alat pengesanan untuk memahami aliran pelaksanaan aplikasi saya?

Bagaimanakah saya boleh menggunakan alat linter dan analisis statik untuk meningkatkan kualiti dan pemeliharaan kod pergi saya? Bagaimanakah saya boleh menggunakan alat linter dan analisis statik untuk meningkatkan kualiti dan pemeliharaan kod pergi saya? Mar 10, 2025 pm 05:38 PM

Bagaimanakah saya boleh menggunakan alat linter dan analisis statik untuk meningkatkan kualiti dan pemeliharaan kod pergi saya?

Bagaimana cara menulis fail dalam bahasa Go dengan mudah? Bagaimana cara menulis fail dalam bahasa Go dengan mudah? Mar 03, 2025 pm 05:15 PM

Bagaimana cara menulis fail dalam bahasa Go dengan mudah?

Bagaimana cara menukar senarai hasil pertanyaan mysql ke dalam slice struktur tersuai dalam bahasa Go? Bagaimana cara menukar senarai hasil pertanyaan mysql ke dalam slice struktur tersuai dalam bahasa Go? Mar 03, 2025 pm 05:18 PM

Bagaimana cara menukar senarai hasil pertanyaan mysql ke dalam slice struktur tersuai dalam bahasa Go?

See all articles