Nunit'ten birim testleri için Xunit kullanmaya geçtim. NUnit ile, aynı sonucu olan çoklu test senaryoları ile bir yöntem oluşturur. Örneğin, aşağıdaki NUnit birim sınaması, bir sınıf yapıcısının, özellikle "ad" değişkeninin geçerliliğini sınar. İsim boş, boş veya boşluk olamaz.Xunit'te birden çok test vakasını ele almanın tercih edilen yolu nedir?
[Test]
[TestCase(null)]
[TestCase("")]
[TestCase(" ")]
[ExpectedException(typeof(ArgumentNullException))]
public void Constructor_InvalidName_ExceptionThrown(string name)
{
// action
make_Foo(name);
}
private make_Foo(string name)
{
return new Foo(name);
}
bu özelliktir kullanarak xUnit uygulamıştır nasıl: ArgumentNullException doğru atılır test eder
[Fact]
public void Constructor_InvalidName_ExceptionThrown()
{
Assert.Throws<ArgumentNullException>(() => new Foo(null));
Assert.Throws<ArgumentNullException>(() => new Foo(""));
Assert.Throws<ArgumentNullException>(() => new Foo(" "));
}
Bu iki nedenden dolayı kötü görünüyor - Birden çok olması gerekiyordu ne de İddiası Bir "birim" testi ve yöntem içinde gömülü olan test durumları ile (diğer birim testlerinin bazılarında daha karmaşık olabilir).
Xunit'te birden çok sınama vakasını ele almanın tercih edilen yolu nedir?
XUnit, kullanabileceğiniz 'Theory' adlı bir türe sahiptir. –
XUnit'in Teori özniteliği örneği için: [burada] bakın (http://dontcodetired.com/blog/post/Creating-Inline fiyatları-Driven-Tests-in-xUnit.aspx) – prgmtc