Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menentukan Laluan Relatif untuk Lokasi Pangkalan Data SQL Express dalam Ujian Unit C#?

Bagaimana untuk Menentukan Laluan Relatif untuk Lokasi Pangkalan Data SQL Express dalam Ujian Unit C#?

Barbara Streisand
Barbara Streisandasal
2025-01-04 06:21:39931semak imbas

How to Specify a Relative Path for SQL Express Database Location in C# Unit Tests?

Menentukan Lokasi Pangkalan Data SQL Express Menggunakan Laluan Relatif dalam Konfigurasi Aplikasi

Dalam projek ujian unit untuk C#, di mana pangkalan data SQL Express digunakan, adalah perlu untuk tentukan rentetan sambungan yang membenarkan laluan relatif kepada lokasi aplikasi. Ini adalah lebih baik daripada menyatakan secara eksplisit laluan mutlak ke fail pangkalan data, seperti:

AttachDbFilename=C:\blah\blah\blah\yea\yea\yea\MyApplication\Databases\MyUnitTestDB.mdf

Pada mulanya, ia dianggap sama ada |DataDirectory| boleh diambil bekerja untuk tujuan ini. Walau bagaimanapun, didapati bahawa ini adalah terpakai terutamanya untuk aplikasi web dan mungkin tidak sejajar dengan persediaan konfigurasi yang diingini untuk mengawal lokasi pangkalan data dalam fail konfigurasi aplikasi.

Untuk mengatasi cabaran ini, pendekatan hibrid telah dilaksanakan , seperti yang digariskan dalam penyelesaian yang disediakan:

app.config fail:

<add name="MyConnectionString" connectionString="Server=.\SQLExpress;AttachDbFilename=|DataDirectory|\MyDatabase.mdf;Database=MyDatabaseForTesting;Trusted_Connection=Yes;" />

Kelas ujian unit:

[TestInitialize]
public void TestInitialize()
{
    AppDomain.CurrentDomain.SetData("DataDirectory", System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Databases"));

    // rest of initialize implementation ...
}

Pendekatan ini menggabungkan definisi laluan relatif dalam rentetan sambungan dengan penugasan DataDirectory harta dalam kelas ujian unit, memastikan bahawa fail pangkalan data terletak relatif kepada boleh laku aplikasi semasa ujian unit, sementara masih membenarkan penggunaan pangkalan data SQL dihoskan dalam persekitaran pengeluaran.

Atas ialah kandungan terperinci Bagaimana untuk Menentukan Laluan Relatif untuk Lokasi Pangkalan Data SQL Express dalam Ujian Unit C#?. 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