Non voglio disabilitare completamente gli avvisi, solo quando è in un'istruzione Assert.Un modo per ignorare i possibili avvisi di eccezione di riferimento null quando si usano le istruzioni di Assert?
Così, per esempio se ho le seguenti due righe
var someObject = GetObject();
Assert.IsNotNull(someObject, "someObject should not be null");
Assert.AreEqual(expectedValue, someObject.SomeProperty);
Prendo la possibile avvertimento riferimento null sulla seconda riga sul someObject.SomeProperty
. È possibile disattivare l'avviso quando si trova all'interno di una determinata chiamata, ad esempio Assert.AreEqual
?
Poiché questo è un problema con molti test di unità, non voglio sporcare i test con il codice di disabilitazione ReSharper.
In questo momento l'unica opzione mi viene in mente è quello di cambiare ogni Assert.IsNotNull
chiamata ad essere
var someObject = GetObject();
if(someObject == null)
{
Assert.Fail("someObject is null");
return;
}
Anche se questo tipo di sembra sconfiggere lo scopo di avere Assert.IsNotNull
in primo luogo. Mi chiedo solo se c'è un modo migliore.
correlati: http://stackoverflow.com/questions/4393456/resharper-how-to-remove-possible-system-nullreferenceexception-warning – JYelton
Can voi pubblicare un esempio più completo? Non posso riprodurre questo; quando si utilizza la libreria di asserzione di NUnit, l'aggiunta di Assert.IsNotNull rimuove l'avviso - e se è in un test o meno non ha alcun effetto. –
@JamesWorld, sto usando MBUnit, non sono sicuro che questo faccia la differenza. Il codice che ho postato fornisce l'avviso usando MBUnit 2.4.2 e ReSharper 6.1.So che non importa se è in un test o no, ma mi interessa solo disabilitarlo nelle classi di test. Dovunque dovrebbe essere abilitato altrove. – Brandon