Pada dasarnya saya ingin memberi tahu MSTest untuk mengeksekusi sedikit kode sebelum meluncurkan serangkaian uji coba, pada dasarnya apa yang ingin saya lakukan adalah hal yang sama dengan menempelkan beberapa kode Main()
.
Alasan saya ingin melakukan ini adalah karena saya ingin melakukan logging dengan log4net selama pengujian integrasi saya berjalan. Saya tidak bisa begitu saja menggunakan log4net.Config.XmlConfigurator
atribut assembly karena pada saat itu membacanya di perakitan pengujian saya sudah dipanggil LoggerManager
. Dokumentasi merekomendasikan konfigurasi log4net secara eksplisit pada titik entri kode - tetapi di manakah itu dalam pengujian saya?
Saya harus dapat menjalankan pengujian saya di TestDriven.NET dan pelari MSTest.
and contains methods that are marked with the TestMethod attribute
.Untuk menyelesaikannya, ini adalah opsi "jalankan kode sebelum" untuk MSTest:
[AssemblyInitialize]
untuk menjalankan kode sekali per rakitan, sebelum tes apa pun di rakitan itu berjalan.[ClassInitialize]
untuk menjalankan kode sekali per kelas, sebelum pengujian apa pun di kelas tempat metode ditentukan.[TestInitialize]
untuk menjalankan kode sebelum setiap pengujian di kelas tempat metode ditentukan.sumber
Saya melihat ini di header MS Test.
Ini akan dijalankan sebelum pengujian di satu kelas.
Sepertinya Anda ingin menjalankan sesuatu sebelum semua tes.
Ada juga opsi skrip pengaturan dalam konfigurasi uji coba.
sumber