Я не хочу полностью отключать предупреждения, только когда это указано в утверждении.Любой способ игнорировать возможные ошибки Null Reference Exception при использовании утверждений 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
Можете ли вы опубликовать более полный пример? Я не могу воспроизвести это; при использовании библиотеки утверждений NUnit добавление Assert.IsNotNull удаляет предупреждение - и находится ли оно в тесте или нет, не имеет никакого эффекта. –
@JamesWorld, я использую MBUnit, не уверен, что это имеет значение. Код, который я опубликовал, дает предупреждение с использованием MBUnit 2.4.2 и ReSharper 6.1.Я знаю, что это не имеет значения, если он прошел тест или нет, но я беспокоюсь только об отключении его в тестовых классах. Везде он должен быть включен. – Brandon