Bagaimana untuk Menjalankan Ujian Unit Go dengan Direktori Kerja Tersuai?

Mary-Kate Olsen
Lepaskan: 2024-11-01 18:34:29
asal
387 orang telah melayarinya

How to Run Go Unit Tests with Custom Working Directories?

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!