Mengurus Laluan Fail SQL Express MDF dalam Ujian Unit
Ujian unit selalunya memerlukan penyambungan ke pangkalan data SQL Express. Walau bagaimanapun, laluan fail mutlak pengekodan keras untuk fail MDF dalam rentetan sambungan anda menjadikan ujian anda kurang mudah alih. Artikel ini meneroka penyelesaian untuk menggunakan laluan relatif atau pembolehubah sebaliknya.
Walaupun token |DataDirectory|
membantu dalam aplikasi web, ia tidak selalu boleh dipercayai dalam aplikasi desktop seperti projek ujian unit. Kaedah yang lebih mantap ialah menetapkan secara langsung sifat DataDirectory
kelas AppDomain
.
Begini cara anda boleh mencapai ini:
<code class="language-csharp">[TestInitialize] public void TestInitialize() { string databaseDirectory = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Databases"); AppDomain.CurrentDomain.SetData("DataDirectory", databaseDirectory); // ... rest of your initialization code ... }</code>
Coretan kod ini menetapkan DataDirectory
kepada subfolder "Pangkalan Data" dalam direktori asas aplikasi anda. Anda kemudiannya boleh menggunakan |DataDirectory|
dalam rentetan sambungan anda:
<code class="language-xml"><add connectionString="Server=.\SQLExpress;AttachDbFilename=|DataDirectory|\MyDatabase.mdf;Database=MyDatabaseForTesting;Trusted_Connection=Yes;" name="MyConnectionString" /></code>
Pendekatan ini memastikan bahawa ujian unit anda boleh mengesan fail MDF tanpa mengira lokasi penggunaan aplikasi, menyediakan persekitaran ujian yang lebih fleksibel dan boleh diselenggara.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menentukan Laluan Relatif untuk Fail MDF SQL Express Saya dalam Ujian Unit?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!