對於單元測試,我希望使用NUnit中的Range attribute
來測試範圍內函數的輸入。該範圍的下限和上限被編碼爲(Singleton模式)類的不變屬性。我想用類屬性指定Range attribute
的出發點和落腳點,是這樣的:對[Range]屬性使用類常量
[Test]
public void sometest([Range(MyClass.LOWER_LIMIT,MyClass.UPPER_LIMIT)] int var)
{
//Do something and assertive with the nice variable
}
然而,這種方法是行不通的。雖然從文檔本身並不清楚,但似乎Range attribute
必須提供常量變量。雖然我的類常量是隻有被定義的靜態屬性,但它確實捕獲了一個常量變量。
我發佈並回答了這個問題,但這真的是在NUnit中根據類常量設置範圍參數的方法嗎?還是有更優雅的解決方案?