測試之路1—熟悉使用Junit
import junit.framework.TestCase; 但是我看老大給我的例程都沒與引入這個類,而是引入了<pre name="code" class="java">import org.junit.After;import org.junit.Before;import org.junit.Test;import static org.junit.Assert.*;
然后,老大叫我根據他給的例程自己去創建單元測試程序,然后運行,創建實際的任務。 創建任務,看似不是很難,但仍要花點時間去了解Junit是怎么樣的,所以我需要先了解一下。 首先這也是一個類,和其他java的類一樣,無非引入了Junit的類,然后我就發現了這個類并沒有顯式的寫出自己的構造方法,而是只有一些看似比較常見對于字符串操作的方法。 唯一不同的是它在每一個方法前都有一個注解。就和前面import的東西一樣,有@after,@Before,@Test。 那么這些注解就是單元測試的關鍵了: 你要在方法的前面使用 @Test標注,以表明這是一個測試方法;用@Before來標注它“在任何一個測試執行之前必須執行的代碼 ;在這種測試函數的前面加上@Ignore 標注,這個標注的含義就是 “ 某些方法尚未完成,暫不參與此次測試; 那么最最簡單實現單元測試花其實只要做兩步就可以測試程序了:初始化,測試。而測試的代碼放在@Test標注的方法內即可。如圖所示,就是一段單元測試的代碼: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>"));}}
而運行這個方法也不需要直接用main函數作為入口地址,只需要選擇該方法,點擊右鍵Run as->Junit test 或Debug as->Junit test。即可運行該單元測試方法,運行的結果是直接在服務器上創建一個任務,如下圖所示: 那么任務就已經被創建好了。而任務的名稱就是方法里輸出任務的字符串。 這就是一個簡單的單元測試。
<pre name="code" class="java">import org.junit.After; import org.junit.Before; import org.junit.Test; import static org.junit.Assert.*; |
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>")); } } |
posted on 2014-06-04 10:50 順其自然EVO 閱讀(205) 評論(0) 編輯 收藏 所屬分類: 測試學習專欄