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