Dalam Go, ujian unit boleh menghadapi cabaran apabila mengakses fail konfigurasi yang terdapat dalam direktori kerja tertentu. Artikel ini menangani isu sedemikian dan meneroka cara untuk membimbing arahan go test untuk menggunakan direktori kerja yang diingini untuk pelaksanaan ujian.
Pertimbangkan situasi berikut: Ujian unit aplikasi Go bergantung pada fail konfigurasi yang terdapat dalam conf/* .conf. Walau bagaimanapun, apabila melaksanakan ujian ini, mereka gagal kerana perduaan tidak dapat mengesan fail konfigurasi.
Untuk menyelesaikan isu ini, mungkin kelihatan intuitif untuk menavigasi ke direktori yang mengandungi direktori conf/ dan melaksanakan ujian go. Walau bagaimanapun, pendekatan ini sering gagal. Untuk memastikan bahawa ujian dilaksanakan dalam direktori kerja yang betul, Go menawarkan mekanisme khusus:
Pakej masa jalan dalam Go menyediakan fungsi dipanggil Pemanggil yang boleh mendapatkan maklumat tentang sumber fail yang memanggilnya. Maklumat ini termasuk nama fail dan laluan:
<code class="go">package sample import ( "testing" "runtime" "fmt" ) func TestGetFilename(t *testing.T) { _, filename, _, _ := runtime.Caller(0) t.Logf("Current test filename: %s", filename) }</code>
Dengan menggunakan teknik ini, kami boleh mencari direktori yang mengandungi fail konfigurasi dan menghantar maklumat tersebut untuk pergi ujian untuk menetapkan direktori kerja untuk pelaksanaan ujian.
Atas ialah kandungan terperinci Bagaimana untuk Menetapkan Direktori Kerja untuk Ujian Go dengan Betul?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!