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