Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah saya boleh menentukan laluan direktori perhimpunan ujian saya dalam ujian unit?

Bagaimanakah saya boleh menentukan laluan direktori perhimpunan ujian saya dalam ujian unit?

Barbara Streisand
Lepaskan: 2025-01-31 22:46:09
asal
590 orang telah melayarinya

How Can I Reliably Determine the Directory Path of My Test Assembly in Unit Tests?

Mengakses fail dalam ujian unit: Kaedah yang boleh dipercayai untuk menentukan direktori perhimpunan ujian

Ujian unit sering memerlukan mengakses fail berbanding dengan perhimpunan ujian. Walau bagaimanapun, mencari direktori pemasangan boleh menjadi rumit kerana variasi dalam persekitaran ujian (mis., Pelari ujian, direktori sementara). Panduan ini menyediakan penyelesaian yang mantap.

Cabaran mencari direktori perhimpunan

Objektifnya adalah untuk mendapatkan laluan direktori perhimpunan semasa, tidak termasuk nama fail. Pendekatan biasa sering jatuh:

  • Environment.CurrentDirectory: Ini mengembalikan direktori kerja semasa, yang mungkin berbeza dari lokasi pemasangan. Sebagai contoh, dalam beberapa pelari ujian, ia menunjuk kepada direktori pelari, bukan projek ujian.
  • dan Assembly.GetAssembly(typeof(AssemblyType)).Location Assembly.GetExecutingAssembly().Location: Ini menyediakan laluan perhimpunan penuh termasuk nama fail, bukan hanya direktori.

Penyelesaian: memanfaatkan Assembly.CodeBase

Kunci menggunakan

. Harta ini mengembalikan laluan pemasangan sebagai URI. Dengan menggunakan Assembly.CodeBase dan UriBuilder.UnescapeDataString, kita boleh dengan pasti mengekstrak laluan direktori: Path.GetDirectoryName

<code class="language-csharp">public static string GetAssemblyDirectory()
{
    string codeBase = Assembly.GetExecutingAssembly().CodeBase;
    UriBuilder uri = new UriBuilder(codeBase);
    string path = Uri.UnescapeDataString(uri.Path);
    return Path.GetDirectoryName(path);
}</code>
Salin selepas log masuk
Kaedah ini secara konsisten mengembalikan laluan direktori yang betul, tanpa mengira persekitaran ujian, memastikan akses fail yang boleh dipercayai dalam ujian unit anda.

Atas ialah kandungan terperinci Bagaimanakah saya boleh menentukan laluan direktori perhimpunan ujian saya dalam ujian unit?. 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