Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menguji Modul Nested Go daripada Direktori Induk?

Bagaimana untuk Menguji Modul Nested Go daripada Direktori Induk?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-28 20:11:02493semak imbas

How to Test Nested Go Modules from the Parent Directory?

Menguji Modul Nested Go daripada Direktori Induk

Rangka kerja ujian Go, go test, direka bentuk untuk berfungsi dalam satu modul Go. Apabila menghadapi struktur folder seperti yang diterangkan, di mana berbilang modul Go berada dalam subdirektori bersarang, melaksanakan ujian go daripada direktori akar tidak akan berjaya.

Mesej ralat yang ditemui, "tiada pakej untuk diuji," menunjukkan bahawa go test gagal menemui sebarang pakej yang boleh diuji dalam direktori semasa atau induknya. Ini kerana ujian go menjangka dapat berfungsi pada satu modul yang berakar umbi dalam direktori semasa atau induk terdekatnya.

Malangnya, go test tidak menyokong ujian modul bersarang secara langsung. Untuk menjalankan ujian dalam berbilang subdirektori, anda perlu sama ada menggunakan skrip shell atau Makefile untuk melaksanakan ujian go secara individu dalam setiap subdirektori.

Sebagai contoh, Makefile boleh digunakan untuk menggelung subdirektori, memanggil pergi ujian, dan agregat keputusan:

all-tests:
    for dir in one two; do \
        make -C $$(cd $$dir && pwd) test; \
    done

Sebagai alternatif, skrip shell boleh ditulis untuk melaksanakan tugas yang sama:

<code class="sh">#!/bin/sh
for dir in one two; do
    (
        cd "$dir"
        go test
    )
done</code>

Dalam projek besar dengan berbilang modul, ujian khusus skrip atau Makefile sering digunakan untuk mengautomasikan proses ujian, seperti yang dilihat dalam contoh yang disediakan dalam jawapan asal. Skrip ini biasanya melingkari senarai modul dan melaksanakan ujian go untuk setiap direktori.

Atas ialah kandungan terperinci Bagaimana untuk Menguji Modul Nested Go daripada Direktori Induk?. 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