NUnit: İddia.Atar | Netgez.com
SORU
22 EKÄ°M 2009, PERÅžEMBE


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
22 EKÄ°M 2009, PERÅžEMBE


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.

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VÄ°DEO

Rastgele Yazarlar

  • Electro Posé

    Electro PosÃ

    21 ÅžUBAT 2013
  • Incredible Tutorials

    Incredible T

    27 EKÄ°M 2006
  • LAHWF

    LAHWF

    5 Kasım 2009