Go: Cara Menggunakan Direktori Kerja Khusus dalam Ujian
Apabila menulis ujian unit dalam Go, adalah penting untuk memastikan bahawa ujian mempunyai akses kepada fail konfigurasi yang diperlukan. Tingkah laku lalai 'go test' mengandaikan bahawa direktori kerja ialah akar projek. Walau bagaimanapun, dalam senario tertentu, anda mungkin menghadapi isu yang berkaitan dengan mencari fail disebabkan kod ujian terletak dalam direktori berbeza dalam projek.
Penyelesaian: Menetapkan Direktori Kerja untuk Ujian
Untuk menentukan direktori kerja khusus untuk ujian anda, anda boleh menggunakan pendekatan berikut:
package main import ( "log" "os" "testing" ) func TestMain(m *testing.M) { // Change the working directory to the test directory. pwd, err := os.Getwd() if err != nil { log.Fatalf("os.Getwd() failed: %v", err) } testDir := pwd + "/test_directory" if err := os.Chdir(testDir); err != nil { log.Fatalf("os.Chdir() failed: %v", err) } // Run the tests. os.Exit(m.Run()) }
package sample import ( "testing" "runtime" "fmt" ) func TestGetFilename(t *testing.T) { _, filename, _, _ := runtime.Caller(0) testDir := filepath.Dir(filename) if err := os.Chdir(testDir); err != nil { t.Fatalf("os.Chdir() failed: %v", err) } // Run the rest of the test. }
Dengan melaksanakan salah satu daripada pendekatan ini, anda boleh memastikan bahawa ujian anda boleh mengakses fail konfigurasi yang diperlukan, membolehkan mereka melaksanakan dengan jayanya.
Atas ialah kandungan terperinci Bagaimana untuk Menentukan Direktori Kerja untuk Ujian Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!