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