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。即可运行该单元测试方法,运行的结果是直接在服务器上创建一个任务,如下图所示:
那么任务就已经被创建好了。而任务的名称就是方法里输出任务的字符串。
这就是一个简单的单元测试。