2010-06-14 17 views
8

Aşağıdaki kodu göz önünde bulundurun:Bir döngüde NUnit Assert kullanırken bir hata mesajında ​​daha fazla bilgiyi nasıl görüntüleyebilirim?

[Test] 
public void WidgetTest() 
{ 
    foreach (Widget widget in widgets) 
    { 
     Assert.AreEqual(0, widget.SomeValue); 
    } 
} 

Aşağıdakilerden biri başarısız olursa, aşağıdaki gibi çok yardımcı olmayan bir hata mesajı alırım:

1) Test Failure : WidgetTest.TestSomeValue 
    Expected: 0 
    But was: 1 

at WidgetTest.TestSomeValue() 

Yani, soru şu ki, nasıl elde edebilirim N Widget, widget'ın adı veya döngü yineleme gibi daha yararlı bilgi görüntülemek için? Hatta bir satır numarası daha yararlı olur, çünkü bu otomatik bir şekilde çalıştırılır ve kodun içine hata ayıklamadan başarısız olan hataların tespitini yapmak isterim.

cevap

13

Siz de bir mesaj alır aşırı kullanabilirsiniz:

Assert.AreEqual(0, widget.SomeValue, 
       "Widget " + widget + " should have SomeValue of 0"); 
+1

o ziyade sıfırdan kendi yazmak zorunda kalmak yerine, mesaj otomatik olarak oluşturulan süslemek için bir yol olsa iyi olurdu. – eddiewould

İlgili konular