我不想完全禁用警告,只是在Assert語句中。任何方式來忽略使用Assert語句時可能的空引用異常警告?
因此,舉例來說,如果我有以下兩行
var someObject = GetObject();
Assert.IsNotNull(someObject, "someObject should not be null");
Assert.AreEqual(expectedValue, someObject.SomeProperty);
我會在第二行可能的空引用警告的someObject.SomeProperty
。是否可以在某個呼叫中禁用警告,如Assert.AreEqual
?
由於這是大量單元測試的問題,我不想用ReSharper禁用代碼亂丟測試。
現在我能想到的唯一的選擇就是改變每Assert.IsNotNull
電話是
var someObject = GetObject();
if(someObject == null)
{
Assert.Fail("someObject is null");
return;
}
儘管這種似乎擊敗擺在首位有Assert.IsNotNull
的目的。只是想知道是否有更好的方法。
相關:http://stackoverflow.com/questions/4393456/resharper-how-to-remove-possible-system-nullreferenceexception-warning – JYelton 2012-03-23 15:30:43
你能發佈一個更完整的例子?我無法重現這一點;當使用NUnit的斷言庫時,Assert.IsNotNull的添加將刪除警告 - 並且它是否在測試中不起作用。 – 2012-03-23 15:47:02
@JamesWorld,我正在使用MBUnit,不知道這是否有所作爲。我發佈的代碼確實使用MBUnit 2.4.2和ReSharper 6.1提供了警告。我知道如果它在測試中並不重要,但我只關心在測試類中禁用它。其他地方應該啓用它。 – Brandon 2012-03-23 15:52:56