Birim testimi çalıştırmak için Visual Studio (bazen yeniden paylaşıcı) kullanıyorum.
NUnit'i duydum ama hakkında pek bir şey bilmiyorum ...
Umursamalı mıyım? Görsel stüdyodan daha iyi bir şey sunabilir mi?
NUnit Kullanmalı mıyım ve neden?
Birim testimi çalıştırmak için Visual Studio (bazen yeniden paylaşıcı) kullanıyorum.
NUnit'i duydum ama hakkında pek bir şey bilmiyorum ...
Umursamalı mıyım? Görsel stüdyodan daha iyi bir şey sunabilir mi?
NUnit Kullanmalı mıyım ve neden?
Yanıtlar:
NUnit'in MS-Test'e göre birkaç avantajı vardır
Assert.AreEqual(expected, actual)
vsAssert.That(actual, Is.EqualTo(expected))
[TestCase]
! NUnit parametreleştirilmiş testlere izin verir.Benim şimdiki bakış açısından ben tavsiye ediyorum (ortalama olarak yaklaşık 10 geliştiricileri ile kalkınma 8 ay sonra) karşı aşağıdaki nedenlerle mstest kullanarak
Diğer bir deyişle, 8 ay önce tekrar karar vermek zorunda kalsaydım, muhtemelen NUnit'i alırdım. Entegre test sonuçları raporuna sahip olmayabilirim, ancak geliştiricilerin daha sorunsuz bir test deneyimi olacak.
İşte MS Testi ile ilgili deneyimim
Ek: Şimdi daha fazla testimiz var, kaç tane olduğunu bile söyleyemiyoruz. OutOfMemoryExceptions ve diğer kararsızlık sorunları nedeniyle artık hepsini Visual Studio'dan çalıştırmak imkansız. Testleri komut dosyalarından çalıştırıyoruz. Test sonuçlarını Visual Studio'da görüntülemek kolay olurdu, ancak çözüm açık olduğunda VS çöküyor (her seferinde). Bu nedenle, metin aramayı kullanarak başarısız testleri aramamız gerekiyor. Artık entegre bir aracın avantajı yok.
Başka Bir Güncelleme : Şu anda VS 2013 kullanıyoruz. Bir çok şey değişti. Başladığımızdan beri MS Test test koşucusunu üçüncü kez yeniden yazdılar. Bu çok fazla değişikliğe neden oldu, ancak yeni sürümlerden hiçbiri daha iyi bir şey yapmıyordu. MS Test'in süslü özelliklerini kullanmadığımız için mutluyuz çünkü artık hepsi desteklenmiyor. Gerçekten utanç verici. Daha kullanışlı olduğu için hala tüm birim testlerini oluşturmak ve çalıştırmak için komut dosyalarını kullanıyoruz. Visual Studio, testleri çalıştırmaya başlamak için birkaç dakika gerektirir (derlemeden sonra ilk test başlayana kadar süre ölçer). Muhtemelen bir güncellemeyle düzeltirler ve bu projemizin belirli bir sorunu olabilir. Bununla birlikte, Resharper, aynı testleri çalıştırırken çok daha hızlıdır.
Sonuç : En azından Resharper ile kombinasyon halinde, MS Testi faydalıdır. Ve umarım sonunda test çalıştırıcısının nasıl yazılması gerektiğini öğrenirler ve Visual Studio'yu bir dahaki sefere güncellediğimizde bu tür kırılma değişiklikleri yapmazlar.
NUnit kullanılabilecek kombine görsel stüdyo ile. Ayrı bir program değil bir çerçevedir. Böylece size uygun olup olmadığına bakabilirsiniz :).
"Eklentiyi kurduktan sonra, araçlar menüsü altında yeni bir alt menü bulacaksınız."
İçe aktarmayla ilgili daha fazla bilgi için http://nunitit.codeplex.com/ adresine bakın .
Ayrıca, SO araması kullanılarak çok şey bulunabilir. Bu konu , örneğin MS standart testine göre NUnit'in avantajlarını listeler.
MS-Test'in NUnit'e göre en büyük avantajı, MS-Test'in Yansıma kullanarak sahte nesneler oluşturabilmesidir. Çok faydalı buldum
Diğerlerinden emin değilim, ancak NUnit, Birim Testlerinizi çalıştırmak için güzel bir GUI ve konsol sağlar ve ayrıca, testin başarısız olup olmadığı veya geçtiği ve ayrıca ne zaman geçtiği hakkında ayrıntılı bilgi veren NUnit Test yürütmesinin sonucunun raporunu oluşturabilirsiniz. birim testine katıl
NUnit, yeniden paylaşım tarafından da desteklenen bir birim test çerçevesidir. Microsoft'un birim test çerçevesini kullandığınızı düşünüyorum, bu nedenle NUnit yalnızca Microsoft ürününe bir alternatiftir;)
İşte NUnit'in ana sayfasına bağlantı: http://nunit.org
In NUnit testler paralel olarak yürütülmez. Bunun yerine, tüm testlerin tek bir iş parçacığı üzerinde yürütüldüğü görülmektedir. MSTest'te, her bir test ayrı bir iş parçacığı üzerinde başlatılır, bu işlemlerin araya eklenmesi sonucunu verir. Bu nedenle, test A, başarısı için test B'ye bağlıysa, test A çalışırken test B muhtemelen çalışmaya başlayacağından büyük olasılıkla başarısız olacaktır.
Visual Studio kullanıyorsanız Birim testi yapmak için NUnit kullanmalısınız ve java (Netbeans) çalıştırıyorsanız, birim testi için JUnit kullanmalısınız.
İşte basit bir hesap makinesi birimi testi için bir örnek
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SimpleCalculator;
using NUnit.Framework;
namespace CalculatorTest
{
[TestFixture]
public class Class1
{
public Calculator _calculator;
[TestFixtureSetUp]
public void Initialize()
{
_calculator = new Calculator();
}
[Test]
public void DivideTest()
{
int a = 10;
int b = 2;
int expectedValue = a / b;
int actualvalue = _calculator.Divide(a, b);
Assert.AreEqual(expectedValue, actualvalue,"Failure");
}
}
}