Saya mencoba untuk menguji unit mesin manajemen host WCF yang telah saya tulis. Mesin pada dasarnya membuat instance ServiceHost dengan cepat berdasarkan konfigurasi. Hal ini memungkinkan kami untuk secara dinamis mengkonfigurasi ulang layanan mana yang tersedia tanpa harus mematikan semuanya dan memulai ulang setiap kali layanan baru ditambahkan atau layanan lama dihapus.
Saya mengalami kesulitan dalam pengujian unit mesin manajemen host ini, bagaimanapun, karena cara kerja ServiceHost. Jika ServiceHost telah dibuat, dibuka, dan belum ditutup untuk titik akhir tertentu, ServiceHost lain untuk titik akhir yang sama tidak dapat dibuat, yang mengakibatkan pengecualian. Karena fakta bahwa platform pengujian unit modern memparalelkan eksekusi pengujian mereka, saya tidak memiliki cara efektif untuk menguji unit kode ini.
Saya telah menggunakan xUnit.NET, berharap karena ekstensibilitasnya, saya dapat menemukan cara untuk memaksanya menjalankan pengujian secara serial. Namun, saya belum beruntung. Saya berharap bahwa seseorang di sini di SO telah mengalami masalah serupa dan tahu cara menjalankan pengujian unit secara serial.
CATATAN: ServiceHost adalah kelas WCF, yang ditulis oleh Microsoft. Saya tidak memiliki kemampuan untuk mengubah perilakunya. Menghosting setiap titik akhir layanan hanya sekali juga merupakan perilaku yang tepat ... namun, ini tidak terlalu kondusif untuk pengujian unit.