qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請?jiān)L問 http://qaseven.github.io/

          使用Visual Studio進(jìn)行單元測試

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

          posted on 2014-11-28 09:50 順其自然EVO 閱讀(215) 評論(0)  編輯  收藏 所屬分類: 測試學(xué)習(xí)專欄

          <2014年11月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 闽清县| 富源县| 萍乡市| 德清县| 茌平县| 新野县| 河北省| 旌德县| 措勤县| 大庆市| 志丹县| 武乡县| 鹤庆县| 桦川县| 邹平县| 苏尼特左旗| 清徐县| 化隆| 红桥区| 松桃| 宁蒗| 永胜县| 桑植县| 福州市| 湟中县| 出国| 霍林郭勒市| 武安市| 叶城县| 富民县| 鄱阳县| 保德县| 揭阳市| 垣曲县| 黎平县| 肥西县| 贵南县| 太康县| 共和县| 邯郸县| 奉新县|