Esiste un modo per affermare se una variabile è o meno di un determinato tipo?Tipi di asserzioni .NET
Come ad esempio:
AssertIsBoolean(variable);
Esiste un modo per affermare se una variabile è o meno di un determinato tipo?Tipi di asserzioni .NET
Come ad esempio:
AssertIsBoolean(variable);
Sei veramente cercando di affermare che una variabile è di tipo particolare, o che il valore di una variabile è di un particolare genere?
Il primo non deve far parte di un test di unità - fa parte del codice dichiarato. È come provare a unit test che non si possa chiamare un metodo con i tipi di argomenti sbagliati.
Il secondo può essere facilmente realizzato con
Assert.IsTrue(value is bool);
(Supponendo value
è una variabile di tipo object
o un'interfaccia.)
noti che che verificano i compatibilità piuttosto che il tipo esatto . Se si desidera verificare che un valore è un tipo esatto, non è un sottotipo, si potrebbe usare qualcosa come:
Assert.AreEqual(typeof(ArgumentException), ex.GetType());
(Ci possono essere le opzioni disponibili per i metodi generici in qualunque framework di unit test si utilizza, naturalmente.)
Penso che tu intenda "ex.GetType()'. – SLaks
@SLaks: risolto, grazie. –
if(myValue is Boolean)
{
}
Assert.IsTrue(variable is bool, "variable was not a Boolean Value");
Non si specifica quale framework di test si utilizza. Quindi vorrei ricordare che il framework di test Gallio/MbUnit offre una vantaggiosa affermazione proprio per questo scopo:
Assert.IsInstanceOfType<bool>(myValue);
Una variabile è del tipo è stato dichiarato come, guardare indietro alcuni linee nel tuo codice sorgente. Se vedi "oggetto", solo allora inizia a considerare le risposte offerte. –