int r = new Random().Next(0, Source.Count);

Result.Add(Source[r]); Source.RemoveAt(r);

}

Result.Sort();

return Result;

}
算法很好理解。好久前寫的,現在翻出來,一眼就看出有問題。不過有點問題正好,看看單元測試能否找出來。
先添一個項目,引用NUnit.Framework,裝好NUnit后在Net組件里有,免安裝版的在解壓后的目錄里找。
新建一個Public類用于測試,叫Test,生成隨機數的方法的類叫Program,F在無所謂,正式項目里命名得規范一點。Test類加[TestFixture]特性,添加一個Public函數叫做TestGetRandomNum,加上[Test]特性,這樣NUnit就能認出這個方法是用于測試的方法了。還給該函數加了一個[Category("GetRandomNum")],因為一個功能可能要寫幾個函數來測試,這個特性表明方法屬于測試GetRandom的方法組。
還有幾個常用的特性: [TestFixtureUp] [TestFixtureDown] [TearDown] [Setup] [Ignore] [Explicit],據說以后了解這幾個就差不多了。
接著,第一個測試方法該測試什么呢?以偶寫代碼的一點經驗,每個函數都會把參數驗證放在前面,參數無效就不往下走了,拋異常什么的該干嘛干嘛,那測試也先從參數測起吧。 現在分析一下參數異常下的輸出:若N<1,不管Max值多少都返回空的List;若N>=1,且Max
寫一個測試方法用于測試這兩種異常輸出,應該寫兩個測試方法好一點。不過剛入手,一個兩個就不必分了,寫出來就好。代碼如下:


測試非正常參數輸入 1

public void TestGetRandomNum3() 2



文章來源于領測軟件測試網 http://www.kjueaiud.com/