qileilove

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

          測(cè)試之路1—熟悉使用Junit

           測(cè)試有很多種,不僅僅是手動(dòng)測(cè)試,往往還要用到所謂“自動(dòng)化測(cè)試”,其實(shí)我的理解也就是自己寫個(gè)程序去測(cè)試。
            最近在公司實(shí)習(xí),用到自動(dòng)化測(cè)試,因?yàn)槌绦蚨际怯?a target="_self" style="word-break: break-all; color: #202859; line-height: normal !important;">java編寫的,所以我也用java編寫單元測(cè)試程序。一般都在java中已經(jīng)導(dǎo)入junit
            import junit.framework.TestCase;
            但是我看老大給我的例程都沒(méi)與引入這個(gè)類,而是引入了
          <pre name="code" class="java">import org.junit.After;
          import org.junit.Before;
          import org.junit.Test;
          import static org.junit.Assert.*;
            然后,老大叫我根據(jù)他給的例程自己去創(chuàng)建單元測(cè)試程序,然后運(yùn)行,創(chuàng)建實(shí)際的任務(wù)。
            創(chuàng)建任務(wù),看似不是很難,但仍要花點(diǎn)時(shí)間去了解Junit是怎么樣的,所以我需要先了解一下。
            首先這也是一個(gè)類,和其他java的類一樣,無(wú)非引入了Junit的類,然后我就發(fā)現(xiàn)了這個(gè)類并沒(méi)有顯式的寫出自己的構(gòu)造方法,而是只有一些看似比較常見(jiàn)對(duì)于字符串操作的方法。
            唯一不同的是它在每一個(gè)方法前都有一個(gè)注解。就和前面import的東西一樣,有@after,@Before,@Test。
            那么這些注解就是單元測(cè)試的關(guān)鍵了:
            你要在方法的前面使用 @Test標(biāo)注,以表明這是一個(gè)測(cè)試方法;用@Before來(lái)標(biāo)注它“在任何一個(gè)測(cè)試執(zhí)行之前必須執(zhí)行的代碼 ;在這種測(cè)試函數(shù)的前面加上@Ignore 標(biāo)注,這個(gè)標(biāo)注的含義就是 “ 某些方法尚未完成,暫不參與此次測(cè)試;
            那么最最簡(jiǎn)單實(shí)現(xiàn)單元測(cè)試花其實(shí)只要做兩步就可以測(cè)試程序了:初始化,測(cè)試。而測(cè)試的代碼放在@Test標(biāo)注的方法內(nèi)即可。如圖所示,就是一段單元測(cè)試的代碼:
          public void creatAAC_Task() throws DocumentException {
          //      String[] sampleratelist = { "24000", "32000", "44100", "48000" };
          String[] sampleratelist = { "24000" };
          for (int j = 0; j < sampleratelist.length; j++) {
          TaskPara model = new TaskPara();
          model.setTaskName("AAC_" + sampleratelist[j]);
          //model.setVideoCodec("h264");
          model.setVideoProfile("Main");
          model.setAudioCodec("aac");
          //model.setAudioProfile("LC");
          model.setSamplerate(sampleratelist[j]);
          String content = taskcaseAPIs.createTaskXML(model);
          String xmlString = arcvideo.addNewTask(content);
          assertTrue(!xmlString.contains("<errors>"));
          //compare(e://xml2.xml);
          String taskID = taskAPIs.getTaskID(xmlString);
          String delXML = arcvideo.deleteTask(taskID);
          assertTrue(delXML.contains("<success></success>"));
          }
          }
            而運(yùn)行這個(gè)方法也不需要直接用main函數(shù)作為入口地址,只需要選擇該方法,點(diǎn)擊右鍵Run as->Junit test 或Debug as->Junit test。即可運(yùn)行該單元測(cè)試方法,運(yùn)行的結(jié)果是直接在服務(wù)器上創(chuàng)建一個(gè)任務(wù),如下圖所示:
            那么任務(wù)就已經(jīng)被創(chuàng)建好了。而任務(wù)的名稱就是方法里輸出任務(wù)的字符串。
            這就是一個(gè)簡(jiǎn)單的單元測(cè)試。

          posted on 2014-06-04 10:50 順其自然EVO 閱讀(205) 評(píng)論(0)  編輯  收藏 所屬分類: 測(cè)試學(xué)習(xí)專欄

          <2014年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 余干县| 沁源县| 延寿县| 桂阳县| 枣庄市| 鸡西市| 凉城县| 江川县| 扎赉特旗| 邢台市| 禹州市| 遂平县| 民丰县| 广西| 苏尼特右旗| 宁南县| 岑溪市| 咸宁市| 泰宁县| 阿城市| 东海县| 呼玛县| 新绛县| 平罗县| 中宁县| 福贡县| 泸溪县| 苏尼特左旗| 双江| 东莞市| 定州市| 黄梅县| 襄汾县| 惠州市| 丰宁| 栖霞市| 旺苍县| 唐海县| 德兴市| 崇州市| 萨迦县|