Bagaimana untuk Menjalankan `go test` dalam Direktori Induk bagi Modul Berbilang Go?

Barbara Streisand
Lepaskan: 2024-10-29 03:09:29
asal
304 orang telah melayarinya

How to Run `go test` in the Parent Directory of Multiple Go Modules?

Menjalankan ujian go dalam Direktori Induk Berbilang Modul Go

Apabila menghadapi struktur direktori dengan berbilang modul Go yang terletak dalam subdirektori, jalankan ujian go daripada direktori induk boleh menimbulkan cabaran. Coretan kod berikut menunjukkan isu ini:

/root
    /one
        go.mod
        go.sum
        main.go
        main_test.go
    /two
        go.mod
        go.sum
        main.go
        main_test.go
Salin selepas log masuk

Menjalankan ujian go./... daripada direktori akar akan mengakibatkan ralat:

go: warning: "./..." matched no packages
no packages to test
Salin selepas log masuk

Ini berlaku kerana ujian go ialah direka khusus untuk beroperasi pada satu modul yang terletak sama ada dalam direktori semasa atau induknya. Ia tidak menyokong modul bersarang atau melaksanakan ujian daripada direktori induk bagi berbilang modul.

Untuk menyelesaikan masalah ini, penyelesaian adalah dengan mencipta skrip shell atau menggunakan utiliti seperti find untuk menavigasi ke setiap modul individu dan melaksanakan go ujian dalam direktori tersebut. Contohnya:

cd /root/one
go test .
cd /root/two
go test .
Salin selepas log masuk

Sebagai alternatif, sesetengah projek mungkin menggunakan Makefile atau skrip test.sh untuk mengautomasikan proses ini. Sebagai contoh, skrip test.sh dalam projek hipotetikal berikut melingkari senarai modul dan menjalankan ujian go untuk setiap direktori:

#!/bin/bash

modules="one two three"

for module in $modules; do
    cd $module
    go test .
    cd ..
done
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Menjalankan `go test` dalam Direktori Induk bagi Modul Berbilang Go?. 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!