使用Assert语句时,有什么方法可以忽略可能的空引用异常警告吗?

Bra*_*don 7 c# mbunit unit-testing resharper-6.1

我不想完全禁用警告,就像它在Assert语句中一样.

例如,如果我有以下两行

var someObject = GetObject();
Assert.IsNotNull(someObject, "someObject should not be null");
Assert.AreEqual(expectedValue, someObject.SomeProperty);
Run Code Online (Sandbox Code Playgroud)

我将在第二行上获得可能的空引用警告someObject.SomeProperty.是否可以在某个通话中禁用警告,例如Assert.AreEqual

由于这是很多单元测试的问题,我不想用ReSharper禁用代码乱丢测试.

现在,我能想到的唯一选择就是改变每一个Assert.IsNotNull电话

var someObject = GetObject();
if(someObject == null)
{
  Assert.Fail("someObject is null");
  return;
}
Run Code Online (Sandbox Code Playgroud)

虽然这种似乎打败Assert.IsNotNull了首先拥有的目的.只是想知道是否有更好的方法.

dar*_*yal 0

如果我没记错的话,你的问题是,当没有为每个对象检查 null 时,resharper 会发出警告。您可以修改 resharper 规则,以便不在测试类中给出 null 警告。 以下是有关更改测试方法的 ReSharper 命名样式的链接。