Pertanyaan app.configs dan Proyek MSTest - referensi nol untuk string koneksi


Ketika saya mencoba menjalankan Tes Unit (mstest), saya mengalami masalah ini.
Baris kode:

_mainCnStr = System.Configuration.ConfigurationManager.
               ConnectionStrings["main"].ConnectionString;

Kembali sebagai referensi nol

Itu tidak melakukan ini di proyek UI utama ketika saya menjalankannya. Apa metode yang tepat untuk mendapatkan pengaturan string koneksi ini dilihat oleh proyek Test Unit? Saya mencoba tertanam sebagai sumber daya. Saya mencoba Copy Always. Apa kombinasi pengaturan yang tepat yang akan memperbaikinya untuk saya?


7
2018-05-30 20:51


asal


Jawaban:


Satu hal yang harus diperhatikan dengan MSTest (dari IDE setidaknya); itu tidak menjalankan tes di folder output reguler (bin), dan itu tidak menghormati inklusi file proyek ("Salin ke Direktori Output"). Anda sering perlu secara eksplisit memberitahukannya (MSTest) file mana yang akan dimasukkan ke dalam area pengujian. Anda harus menyertakan "app.config" dalam daftar ini; baik melalui testrunconfig ("Deployment"), atau dengan menambahkan atribut ([DeploymentItem]) ke perlengkapan tes yang terpengaruh.


9
2018-05-30 21:41



Anda harus menambahkan app.config ke proyek uji unit. Itu tidak akan secara otomatis menggunakan pengaturan di aplikasi UI app.config.


8
2018-05-30 20:52



Saya mengasumsikan mstests, seperti tes nunit, tertanam dalam perakitan terpisah yang akan dimuat oleh aplikasi pengujian? Dalam hal ini, Anda mungkin perlu membuat beberapa kode set-up pengujian yang dimuat dalam file konfigurasi.


0
2018-05-30 20:53