1.創(chuàng)建單元測試項(xiàng)目
2.創(chuàng)建完成后,新建項(xiàng)目會(huì)自動(dòng)添加“Microsoft.VisualStudio.QualityTools.UnitTestFramework”的引用,該引用用于單元測試
3.新建項(xiàng)目中自動(dòng)生成一個(gè)默認(rèn)測試文件“UnitTest1.cs”,內(nèi)容如下圖
[TestClass]:為表示該類為測試類。
[TestMethod]:為測試方法,如測試類下有多個(gè)測試方法,開始執(zhí)行測試用例時(shí),自上往下挨個(gè)執(zhí)行測試方法。
4.添加自己的測試方法,并使用測試類自帶的斷言方法“Assert.AreEqual(expected, actual); ”,用于比對(duì)結(jié)果是否正確。
expected:為預(yù)期結(jié)果
actual:為真實(shí)結(jié)果
5.開始執(zhí)行測試用例
執(zhí)行測試用例有三種方式:
- 將測試用例項(xiàng)目設(shè)置為啟動(dòng)項(xiàng),和平常項(xiàng)目啟動(dòng)是一樣的,F(xiàn)5啟動(dòng),可以在測試用例方法出加個(gè)斷點(diǎn),方便查看
- 在測試用例方法出右鍵“運(yùn)行測試”,如下圖:


也可以使用vs2010頂部菜單欄下的“測試”按鈕進(jìn)行運(yùn)行或調(diào)試。
運(yùn)行結(jié)果:會(huì)提示是否成功,和失敗原因
現(xiàn)在將expected結(jié)果設(shè)置為3,運(yùn)行成功如下圖:


將expected結(jié)果設(shè)置為1,運(yùn)行失敗如下圖


如VS2010上安裝Reshape,右鍵出現(xiàn)“Run Unit Tests”和“Debug Unit Tests”按鈕。分別表示,執(zhí)行測試用例,和debug下執(zhí)行測試用例。
使用Reshape的測試用例啟動(dòng)按鈕,有一個(gè)好處是可以使用Debug模式,如測試項(xiàng)目不是啟動(dòng)項(xiàng),那這個(gè)功能尤為重要了。


運(yùn)行結(jié)果:
預(yù)期只為1


預(yù)期值為3


附加測試屬性
"附加測試屬性"。默認(rèn)都是被注釋掉的,只要我們?nèi)∠⑨尵涂梢允褂昧恕_@個(gè)功能的加入,很大程度上是為了增加測試的靈活性。具體的屬性有:
[ClassInitialize()]在運(yùn)行類的第一個(gè)測試前先運(yùn)行代碼(使用該屬性的方法,必須是參數(shù)為TestContext的帶參方法)
[ClassCleanup()]在運(yùn)行完類中的所有測試后再運(yùn)行代碼
[TestInitialize()]在運(yùn)行每個(gè)測試前先運(yùn)行代碼
[TestCleanup()]在運(yùn)行完每個(gè)測試后運(yùn)行代碼
如在執(zhí)行測試時(shí),將測試執(zhí)行時(shí)間輸入到日志中,代碼如下
