2010-11-09 62 views
6

有沒有一種方法可以斷言變量是否屬於某種類型?斷言類型.NET

如:

AssertIsBoolean(variable); 
+0

變量是它被聲明爲類型,回首幾源代碼中的行。如果你看到「對象」,那麼只有開始考慮提供的答案。 – 2010-11-09 20:38:18

回答

6

難道你真的想斷言,一個變量是一種特殊類型的,或者是一個變量的是一個特殊的類型?

第一個不應該是單元測試的一部分 - 它是聲明代碼的一部分。這就像試圖單元測試一樣,你不能使用錯誤的參數類型調用方法。

第二可容易地與

Assert.IsTrue(value is bool); 

來實現(假設valueobject類型或接口的變量。)

注意的是,實際測試兼容性而非確切類型。如果你想測試的值是一個確切的類型,而不是一個亞型,你可能會使用類似:可用於一般的方法

Assert.AreEqual(typeof(ArgumentException), ex.GetType()); 

(有可能選擇在你使用過程中的任何單元測試框架。 )

+0

我想你的意思是'ex.GetType()'。 – SLaks 2010-11-09 23:51:05

+0

@SLaks:修正,謝謝。 – 2010-11-10 06:21:37

1
if(myValue is Boolean) 
{ 

} 
0
Assert.IsTrue(variable is bool, "variable was not a Boolean Value"); 
0

您不指定使用哪個測試框架。所以,我想提一提的是,Gallio/MbUnit測試框架提供了一個方便的斷言爲了這個目的:

Assert.IsInstanceOfType<bool>(myValue);