Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara Menggunakan Fungsi Pemanggil Go untuk Menetapkan Direktori Kerja Secara Dinamik untuk Ujian?

Cara Menggunakan Fungsi Pemanggil Go untuk Menetapkan Direktori Kerja Secara Dinamik untuk Ujian?

Susan Sarandon
Susan Sarandonasal
2024-10-30 04:49:28968semak imbas

How to Use Go's Caller Function to Dynamically Set Working Directory for Tests?

Menggunakan Pemanggil untuk Menentukan Direktori Kerja untuk Ujian Go

Apabila membangunkan ujian untuk aplikasi Go, adalah penting untuk mendapatkan ujian mengakses konfigurasi yang diperlukan fail yang terletak dalam direktori tertentu dalam direktori kerja. Secara lalai, binari mencari fail ini dalam laluan conf/*.conf di bawah direktori kerja.

Jika menjalankan arahan go test secara langsung gagal untuk mengesan fail konfigurasi, pendekatan alternatif boleh diguna pakai. Dengan memanfaatkan fungsi Pemanggil, kami boleh mewujudkan laluan ke fail sumber ujian semasa.

Berikut ialah coretan kod yang menunjukkan teknik ini:

<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>

Dalam contoh ini, kami menggunakan fungsi Pemanggil untuk mendapatkan maklumat tentang fungsi ujian, termasuk nama failnya. Dengan mengelog nama fail, kami boleh mengesahkan lokasi fail sumber ujian dan menggunakan maklumat ini untuk menetapkan direktori kerja dengan sewajarnya. Dengan cara ini, ujian boleh berjaya mengakses fail konfigurasi yang diperlukan.

Atas ialah kandungan terperinci Cara Menggunakan Fungsi Pemanggil Go untuk Menetapkan Direktori Kerja Secara Dinamik untuk Ujian?. 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