Golang: Pengujian Unit dengan Direktori Kerja Tersuai
Apabila menulis ujian unit dalam Go, perkara biasa perlu memuatkan fail konfigurasi atau sumber lain daripada direktori tertentu. Secara lalai, ujian Go mewarisi direktori kerja proses yang memanggilnya, yang mungkin tidak sama dengan direktori tempat fail ujian berada. Ini boleh membawa kepada ralat jika ujian bergantung pada fail yang tidak tersedia dalam direktori kerja semasa.
Penyelesaian:
Satu penyelesaian ialah mengubah suai direktori kerja sebelum menjalankan ujian. Ini boleh dilakukan menggunakan fungsi os.Chdir untuk menukar direktori kerja semasa ke lokasi yang dikehendaki.
Berikut ialah contoh:
<code class="go">import ( "os" "testing" ) func TestWithWorkingDirectory(t *testing.T) { os.Chdir("path/to/custom/working/directory") // Run tests here }</code>
Pendekatan lain ialah menggunakan fungsi Pemanggil untuk mendapatkan laluan ke fail sumber ujian semasa. Ini boleh digunakan untuk menentukan direktori induk fail ujian, yang berkemungkinan di mana fail konfigurasi berada.
Berikut ialah contoh menggunakan Pemanggil:
<code class="go">package sample import ( "testing" "runtime" "fmt" ) func TestGetFilename(t *testing.T) { _, filename, _, _ := runtime.Caller(0) parentDir := filepath.Dir(filepath.Dir(filename)) os.Chdir(parentDir) // Run tests here }</code>
Perhatikan bahawa laluan fail. Fungsi dir digunakan untuk mendapatkan direktori induk fail ujian. Ini mengandaikan bahawa fail konfigurasi terletak dalam direktori induk. Jika ini tidak berlaku, anda boleh mengubah suai kod untuk menavigasi ke direktori yang sesuai.
Atas ialah kandungan terperinci Bagaimana untuk Menjalankan Ujian Unit Go dengan Direktori Kerja Tersuai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!