Tampak bagi saya bahwa semua orang menggunakan NUnit tanpa mempertimbangkan opsi lain. Saya pikir ini karena:
- Semua orang sudah mengenalnya sehingga mereka tidak perlu belajar API baru.
- Sudah diatur dengan server integrasi berkesinambungan mereka untuk bekerja dengan NUnit.
Apakah saya salah tentang ini?
Saya memutuskan untuk menggunakan xUnit di salah satu proyek saya sendiri baru-baru ini dan saya menyukainya! Itu jauh lebih masuk akal bagi saya dan secara konseptual sepertinya merupakan langkah maju yang pasti dari NUnit.
Saya ingin mendengar pendapat tentang kerangka kerja mana yang terbaik - tidak mempertimbangkan harus mempelajarinya atau mengkonfigurasi ulang pengujian otomatis Anda.
.net
unit-testing
frameworks
nunit
xunit
Tak seorangpun
sumber
sumber
Jawaban:
MSTest
Saya pribadi menggunakan MSTest. NUnit benar-benar bagus, tetapi di VS2010, MSTest sudah sepenuhnya terintegrasi ke dalam IDE dan ada template proyek penuh untuk itu. Untuk .NET, jika Anda menggunakan 2010, maka saya pikir MSTest adalah cara untuk pergi (MSTest dalam VS2008 saya tidak berpikir secara normal) hanya untuk cakupan kode, test runner dan alat-alat lain yang tersedia untuk Anda keluar dari kotak. (Jika Anda menggunakan CodeRush atau R #, maka mereka memiliki pelari / alat uji yang sangat bagus untuk kerangka pengujian lainnya)
Sunting: Saya sejak pindah ke XUnit. : D
sumber
Saya sudah mulai menggunakan Gallio / MbUnit beberapa tahun yang lalu. Dan fitur dan permata yang disediakannya begitu kuat sehingga saya tidak pernah menyesali pilihan saya. Bahkan, saya sekarang menjadi bagian dari tim pengembangan proyek OSS Gallio; jadi saya bisa berkontribusi untuk membuatnya lebih hebat.
The wiki tentu titik yang baik mulai menemukan Galio dan MbUnit v3. Itu masih merindukan beberapa bab tapi tenang sudah berguna.
sumber
Memilih satu dan menggunakannya mungkin adalah langkah paling penting di sini.
Secara pribadi saya akan memilih NUnit karena beberapa alasan. Pertama dan terpenting adalah dukungan perkakas. Ada tambahan gratis untuk Visual Studio 2010 , dan semua plugin pihak ketiga utama mendukungnya. Setiap sistem build tunggal, utilitas cakupan uji dan server CI mendukungnya. Dalam banyak kasus tanpa plugin. Pada level kode, ia dapat menangani hampir semua skenario pada titik ini - tes yang digerakkan oleh data, pewarisan, kelas tes abstrak, kelas tes generik, pengaturan, runtuhkan, dll. Hingga taraf tertentu kami memiliki xUnit karena NUnit terlalu kaya fitur dan kuat.
Di luar NUnit, saya pikir Anda bisa membuat argumen yang cukup baik untuk MBUnit + Gallio seperti yang disebutkan oleh Yann - ini adalah kerangka kerja yang sangat solid. Yang harus Anda hindari jika mungkin adalah MSTest, yang memiliki beberapa IMHO kesalahan fatal. Kelemahan menjadi beberapa kendala pada kelas tes Anda, seperti tidak ada warisan, dan ketergantungan pada profesional atau SKU studio visual yang lebih baik. Termasuk membutuhkan studio visual yang diinstal pada server build untuk menjalankan tes.
sumber
Salah satu alasannya adalah NUNIT menjadi lebih banyak standar industri daripada xUnit. Tetapi secara pribadi, saya suka xunit.
sumber