NUnit: Ä°ddia.Atar
Nasıl Assert.Throws
özel tip ve gerçek mesaj ifadeler savunmak için kullanırım.
Şöyle bir şey:
Assert.Throws<Exception>(
()=>user.MakeUserActive()).WithMessage("Actual exception message")
Test yöntemi aynı tip, farklı mesajlarla birden çok mesaj atar, ve doğru mesajı içeriğe bağlı olarak atılan test etmek için bir yol istiyorum.
CEVAP
Assert.Throws
dışı karşılarında sağlayan atılmış olan bir özel durum döndürür.
var ex = Assert.Throws<Exception>(() => user.MakeUserActive());
Assert.That(ex.Message, Is.EqualTo("Actual exception message"));
Hiçbir istisnası atılır, ya da yanlış türde bir özel durum oluşursa, Assert.Throws
ilk onaylama işlemi başarısız olur. Ancak eğer doğru türde bir özel durum sonra artık değişken olarak kaydettiğiniz gerçek dışı iddia edebilirsiniz.
Özel durum iletisi dışındaki şeyler hakkında iddia edebilirsiniz bu modeli kullanarak, örneğin ArgumentException
ve türevleri olması durumunda, parametre adının doğru olduğunu iddia edebilirsiniz:
var ex = Assert.Throws<ArgumentNullException>(() => foo.Bar(null));
Assert.That(ex.ParamName, Is.EqualTo("bar"));
Ayrıca iddia: bu işin için akıcı bir API kullanabilirsiniz
Assert.That(() => foo.Bar(null),
Throws.Exception
.TypeOf<ArgumentNullException>()
.With.Property("ParamName")
.EqualTo("bar"));
Özel durum iletileri iddia zaman küçük bir ipucu atılan mesaj beklenen kültür kullandığından emin olun SetCultureAttribute
test yöntemi süslemek için. Eğer bu kaynaklar yerelleştirme için izin vermek gibi bir durum mesajlarını depolamak devreye giriyor.
NUnit'in Ä°ddia.EÅŸittir istisna &q...
NUnit.Çerçeve.İddia.() İsİnstanceOfTyp...
Nasıl belirli bir durum JUnit 4 Test a...
Etmesinin önünü sudo olmadan hata atar...
Nasıl bir özel durum olduğunu doğrulam...