C # için NUnit Visual Studio ile entegre Unit Test özelliği ile nasıl karşılaştırılır


12

C # .NET kullanılarak geliştirilen orta ölçekli bir masaüstü uygulaması geliştirmek için bir ekipte çalışmam gerekiyor. Bundan önce Birim Test ve Test Odaklı Geliştirme uygulamamıştım. Unit Testing C # uygulamaları için birçok araç ve çerçeve bulunduğunun farkındayım. Şu an itibariyle, Nunit ve Visual Studio ile entegre Birim Test tesisinin farkındayım.

Bilmek istiyorum, ikisi nasıl karşılaştırıyor?

Yanıtlar:


14

İkisi arasında bir miktar örtüşme var. NUnit selefi ve sonuç olarak daha olgun. C # Birim Testi çerçevesi daha genç ancak Visual Studio ile entegre edilmiştir.

JUnit'in kral olduğu Java dünyasından geldim (başkaları var, ama popüler değil) ve NUnit 2.5.x, JUnit 4'ün çalışma şekline gerçekten iyi bir eşleşme. Aslında, Java muadilinden çok daha iyi çalışıyor.

Test tanımı söz konusu olduğunda, NUnit'i tercih ediyorum. Elbette MS Test, sınıflarınıza uyguladığınız benzer (ancak farklı) özelliklere sahiptir, ancak bazı test türleri üzerinde çalışmanızı kurtarabilecek bazı özelliklerden yoksun olduğuna inanıyorum. Benzer bir tartışmayı StackOverflow üzerinde kontrol etmek isteyebilirsiniz .

Ben hem okumak kolay hem de kolayca genişletilebilir çünkü NUnit ( Hamcrest tarzı iddiaları kullanıyor) yerleşik yeni iddia modelini seviyorum .

  • NUnit daha iyi 3. taraf desteğine sahip olacak, MS Test daha iyi entegrasyona sahip olacak (kutudan çıkacak).
  • NUnit daha iyi esnekliğe ve genişletilebilirliğe sahip olacak, MS Test bu alanda acı çekecektir.
  • Hem birim testleri çalıştırın hem de sonuçlarınızı kontrol edin, her ikisi de TDD için çalışacaktır.

3

Özel bir MSBUILD sunucu formu TFS üzerinde çalıştırmak için bir komut dosyası oluşturmak zorunda kaldığımda fark ettiğim tek gerçek fark, nUnit'i kurmak ve nUnit test sonuçlarını almak gerçek bir acıydı, onu kurmak ve MSTest için sonuçları almak bir esinti.

Ayrıca, MSTest testlerinin test koşucusundan çalıştırılamadığı Resharper ile ilgili bir sorun vardı. Daha yeni sürümlerde bu düzeltilmiştir, bu nedenle Resharper'ın eski bir sürümüne sahipseniz yine de bir sorun olabilir.

Roy Oshereve'den bu yazı hala güzel bir genel bakış.

ps: Diğer cevabımı sildim, hiç yardımcı olmadı, özür dilerim.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.