1. 單元測試Unit Test:開發(fā)者編寫的一小段代碼,用于檢驗被測代碼的一個很小的,很明確的功能是否正確。
2. 單元測試的具體表現(xiàn):用于判斷某個特定條件或場景下某個特定函數(shù)或方法的行為。
3. 單元測試的目的:為了證明某段代碼的行為確實和開發(fā)者所期望的一致。
4. 單元測試的核心內(nèi)涵:這個簡單有效的技術(shù)是為了令代碼變得更加完美。
5. NUint中的斷言Assert類的靜態(tài)方法:
1)AreEquals
Assert.AreEqual(expected, actual[, string message])
//expected:期望值(通常是硬編碼的);
//actual:被測試代碼實際產(chǎn)生的值;
//message:一個可選消息,將會在發(fā)生錯誤時報告這個消息。
因計算機并不能精確地表示所有的浮點數(shù),所以在比較浮點數(shù)時(float或double),需要指定一個額外的誤差參數(shù)。
Assert.AreEqual(expected, actual, tolerance[, string message])
//tolerance:指定的誤差,即只要精確到小數(shù)點后X位足夠了。
//例如:精確到小數(shù)點后4位
Assert.AreEqual(0.6667, 0.0/3.0, 0.0001);
2)IsNull
Assert.IsNull(object[, string message])
//是null
Assert.IsNotNull(object[, string message])
//非null
3)AreSame
Assert.AreSame(expected, actual[, string message])
//驗證expected和actual兩個參數(shù)是否引用一個相同的對象。
4)IsTrue
Assert.IsTrue(bool condition [, string message])
Assert.IsFalse(bool condition [, string message])
5)Fail
Assert.Fail([string message])
//使測試立即失;這種斷言通常被用于標記某個不應(yīng)該被到達的分支,但實際中不常用。
6. 當(dāng)有測試失敗時,無論如何都不能給原有代碼添加任何的新特性。