Bagaimana untuk Melaksanakan Ujian Go Secara Berurutan merentas Pelbagai Pakej?

Mary-Kate Olsen
Lepaskan: 2024-11-04 07:59:30
asal
165 orang telah melayarinya

How to Execute Go Tests Sequentially across Multiple Packages?

Cara Melaksanakan Ujian merentas Pelbagai Pakej Go Secara Berurutan

Apabila melaksanakan ujian untuk berbilang pakej menggunakan ujian go ./..., ia adalah penting untuk mempertimbangkan aspek keselarian. Secara lalai, ujian dijalankan serentak merentas pakej. Walau bagaimanapun, senario tertentu, seperti ujian berasaskan pangkalan data, memerlukan pelaksanaan berurutan.

Dalam contoh yang diberikan, perbalahan pangkalan data timbul disebabkan oleh pelaksanaan ujian selari. Setiap fail ujian mentakrifkan pembolehubah pangkalan data global, yang boleh menyebabkan konflik apabila ujian dijalankan serentak.

Penyelesaian:

Untuk menguatkuasakan pelaksanaan berurutan merentas pakej, gunakan bendera -p tanpa dokumen bersama-sama dengan ujian go seperti berikut:

go test -p 1 ./...
Salin selepas log masuk

Bendera -p 1 membina dan menguji semua pakej dalam siri, menyelesaikan isu perbalahan.

Penyelesaian Alternatif (Menggunakan Skrip Shell) :

Jika menggunakan bendera -p 1 tidak boleh dilaksanakan, pendekatan berasaskan skrip shell alternatif boleh digunakan. Berikut ialah contoh skrip Bash:

find . -name '*.go' -printf '%h\n' | sort -u | xargs -n1 -P1 go test
Salin selepas log masuk

Skrip ini menyenaraikan semua subdirektori yang mengandungi fail .go, mengalih keluar pendua dan menjalankan ujian go pada setiap subdirektori secara berurutan.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Ujian Go Secara Berurutan merentas Pelbagai Pakej?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!