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
Lepaskan: 2025-01-04 06:21:39
asal
885 orang telah melayarinya

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

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

Kelas ujian unit:

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

    // rest of initialize implementation ...
}
Salin selepas log masuk

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!

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