一、使用Visual Studio進(jìn)行單元測(cè)試的幾個(gè)建議 1.先寫單元測(cè)試(依我愚見,應(yīng)該是接口先行,如果有的話) -> 測(cè)試失敗 -> 以最小的改動(dòng)(即編寫實(shí)際代碼)使測(cè)試通過(而在VS2012中已經(jīng)不能通過現(xiàn)有項(xiàng)目直接生成測(cè)試項(xiàng)目了,我覺得這個(gè)功能還是應(yīng)該保留,
微軟總是這副德行,強(qiáng)迫用戶適應(yīng)他們的產(chǎn)品,但是又不得不適應(yīng));
2.不因單元測(cè)試而追加功能(代碼),即邏輯不受單元測(cè)試影響;
3.改變了代碼的邏輯(增刪改),應(yīng)及時(shí)運(yùn)行單元測(cè)試;
4.在測(cè)試方法聲明Attribute —— TestCategory("分類或特征名");
6.初始化單元測(cè)試類中的成員等信息,可添加方法并聲明Attribute[TestInitialize](方法需為public);
二、下面我們以VS2012為例,來(lái)看一下如何在Visual Studio中進(jìn)行單元測(cè)試
1.首先,右鍵點(diǎn)擊解決方案(Solution)彈出右鍵菜單(Context)
選擇添加(Add) - 新項(xiàng)目(New Project), 在給出的模版中,選擇 Visual C# -
Test -Unit Test Project 如圖。
2.得到模版如圖
3.在測(cè)試方法中(此處為默認(rèn)的TestMethod1,一般修改為 需要測(cè)試的方法名+Test )添加自己需要測(cè)試的代碼
例如添加類XmlSerializationTest,代碼如下:
[TestClass] public class XmlSerializationTest { private XmlSerialization serialization; [TestInitialize] public void InitTest() { this.serialization = new XmlSerialization(@"F:\\usermodel.seri"); } [TestMethod] public void TestWriteXml() { UserModel user = new UserModel(); bool flag = serialization.WriteXml<UserModel>(user); Assert.IsTrue(flag); Assert.IsFalse(serialization.WriteXml<UserModel>(null)); } [TestMethod] public void TestReadXml() { UserModel user = new UserModel(); user.LoginName = "aa"; serialization.WriteXml<UserModel>(user); UserModel model = serialization.ReadXml<UserModel>(); Assert.IsNotNull(model); Assert.AreEqual(user.LoginName, model.LoginName); //路徑不存在,應(yīng)返回null UserModel modelnull = serialization.ReadXml<UserModel>(@"F:\\notexists.seri"); Assert.IsNull(modelnull); } } |
4.測(cè)試代碼寫好后, 即可點(diǎn)擊上方菜單Test-Run- AllTests等,來(lái)進(jìn)行測(cè)試
測(cè)試完畢后。下方會(huì)產(chǎn)生結(jié)果列表。紅色為未通過的TestCase。若想對(duì)其進(jìn)行DEBUG,可右擊紅色的TestCase,選擇Debug selected Tests。修改后,也可右擊想要重新測(cè)試的TestCase,選擇Run Selected Tests.
English » | | | | | | | | |
Text-to-speech function is limited to 100 characters
English » | | | | | | | | |
Text-to-speech function is limited to 100 characters