Dot-Net

斷言類型 .NET

  • March 26, 2014

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

如:

AssertIsBoolean(variable);

您是否真的試圖斷言變數屬於特定類型,或者變數的屬於特定類型?

第一個不應該是單元測試的一部分——它是聲明程式碼的一部分。這就像嘗試進行單元測試一樣,您不能使用錯誤的參數類型呼叫方法。

第二個可以很容易地完成

Assert.IsTrue(value is bool);

(假設value是類型object或介面的變數。)

請注意,這將測試兼容性而不是確切的類型。如果你想測試一個值是一個確切的類型,而不是一個子類型,你可以使用類似的東西:

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

(當然,在您使用的任何單元測試框架中,通用方法都可能有可用的選項。)

引用自:https://stackoverflow.com/questions/4138261