我不想完全禁用警告,仅当它在Assert语句中时才可以。
因此,例如,如果我有以下两行
var someObject = GetObject();
Assert.IsNotNull(someObject, "someObject should not be null");
Assert.AreEqual(expectedValue, someObject.SomeProperty);
我将在
someObject.SomeProperty
的第二行上收到可能的null引用警告。是否可以在某个调用内(例如Assert.AreEqual
)禁用警告?由于这是许多单元测试的问题,所以我不想用ReSharper禁用代码来乱丢测试。
现在,我唯一想到的选择是将每个
Assert.IsNotNull
调用更改为var someObject = GetObject();
if(someObject == null)
{
Assert.Fail("someObject is null");
return;
}
尽管这种方法似乎打败了首先拥有
Assert.IsNotNull
的目的。只是想知道是否有更好的方法。 最佳答案
我不知道您使用的特定库,但我会尝试类似的方法
Assert.IsTrue(someObject != null);
或者,为了完整起见,
Assert.IsNotNull(someObject, "someObject must not be null");
Assert.IsNotNull(someObject.SomeProperty, "SomeProperty must not be null either");
Assert.SomethingElse(...);
关于c# - 使用Assert语句时,是否有任何方法可以忽略可能的Null引用异常警告?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9841855/