Dalam ujian unit, laluan kod pelaksanaan semasa sering diperlukan untuk mencari sumber yang berkaitan, seperti fail XML.
secara langsung menggunakan tidak selalu boleh dipercayai, kerana ia biasanya menunjuk ke jalan kerangka ujian, bukan perhimpunan ujian. Begitu juga, laluan sementara yang tidak dijangka boleh dikembalikan dalam beberapa alat ujian.
Untuk menyelesaikan masalah ini, atribut Environment.CurrentDirectory
boleh digunakan untuk mendapatkan URI perhimpunan pelaksanaan. Melalui , anda boleh mengekstrak laluan fail yang tidak dikodkan dari URI ini. Akhirnya, gunakan Assembly.GetExecutingAssembly().Location
untuk mendapatkan laluan direktori perhimpunan.
Serpihan kod berikut mentakrifkan atribut tambahan untuk menyediakan laluan direktori tetapan pemasangan: Assembly.CodeBase
UriBuilder
Path.GetDirectoryName
Dalam kod ujian, hanya akses atribut ini:
Kaedah ini membuktikan bahawa ia boleh dipercayai dalam senario ujian pelbagai unit menggunakan NUNIT dan MBUNIT untuk memastikan laluan pemasangan yang betul boleh diambil.
<code class="language-csharp">public static string AssemblyDirectory { get { string codeBase = Assembly.GetExecutingAssembly().CodeBase; UriBuilder uri = new UriBuilder(codeBase); string path = Uri.UnescapeDataString(uri.Path); return Path.GetDirectoryName(path); } }</code>
Atas ialah kandungan terperinci Bagaimanakah saya dapat mencari jalan direktori perhimpunan C# saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!