• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 在android中進行單元測試

    發表于:2013-05-24來源:博客園作者:qileilove點擊數: 標簽:單元測試
    在開發過程中,無論是什么語言,如果能夠熟練使用單元測試, 提高的效率那是大大地,當測試或某相關的小姑娘報bug的時候,站在你身邊,用無辜的大眼睛對 你說,“公子,有地方出問題”,

      在開發過程中,無論是什么語言,如果能夠熟練使用單元測試, 提高的效率那是大大地,當測試或某相關的小姑娘報bug的時候,站在你身邊,用無辜的大眼睛對 你說,“公子,有地方出問題”,正要打開相關的應用程序或者頁面重現那個問題時,你大臂一揮,“XJ,不用那么麻煩,看在下的”,打開單元測試一跑,三下 兩下搞定問題,那些連myeclipse都不知道怎么拼的MM,看到這一幕,能不五體投地嗎?如果公司都是大老爺們,那首先要做的就和老板提意見,然后再 看下文。

      android的單元測試很簡單,首先,新建一個android project。然后新建一個android test project,File-->Project-->Android-->Android Test Project。然后會彈出一個對話框“New Android Test Project”,填入工程名,在“an existing Android Project”中選擇要單元測試的工程,其實就和那個東西掛鉤,理解為母體和寄生蟲的關系也未嘗不可。當選擇好Android Project工程之 后,下面的那些包名之類的自然就自動填好了。點“finish”,一個android test project就OK了--如果不是太倒霉的話。

      android test project工程下的目錄結構和android project差不多,只是src下的package下多一個test包。接下來就開始創建junit了,像平常添加新類那樣右擊 包,New-->Junit Test Case,接下來就填junit名字,選擇“New Junit3.0 Test”,Junit4.0沒試過,但由于某些原因Junit4不一定能體現出Junit的特性來,一會說,現在不說,伏筆很重要,我的地盤我做 主...在下面吧setUp勾上。“finish”,現在就可以寫測試

      代碼,具體的實例代碼如下:

    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;

    import com.helloAndroid.Books;
    import com.helloAndroid.HelloAndroid;
    import com.helloAndroid.R;

    import android.R.xml;
    import android.test.ActivityInstrumentationTestCase2;
    import android.widget.ListView;
    import android.widget.SimpleAdapter;


    public class Junit3 extends ActivityInstrumentationTestCase2<Books> {

    ListView listView;
    Books books;

    public Junit3() {
    super("com.helloAndroid.HelloAndroid" ,Books.class);
    // TODO Auto-generated constructor stub
    }

    protected void setUp() throws Exception {
    super.setUp();
    books = this.getActivity();


    }

    //添加testPreconditions()方法,檢查初始化環境,只執行一次
    public void testPreconditions() {

          //assertNotNull(integer);

    }

    //添加單元測試
    public void testText() {

          //assertEquals(resourceString,(String)mView.getText());
    List<Map<String, Object>> resourceName = new ArrayList<Map<String,Object>>();
    Map<String ,Object> map = new HashMap<String, Object>();

    map.put("line1", "測試Junit");
    map.put("img", R.drawable.weikexue);
    resourceName.add(map);

    //listView = (ListView)books.findViewById(com.helloAndroid.R.id.l)
    SimpleAdapter notes = new SimpleAdapter(
    books,
    resourceName,
    R.layout.rows,
    new String[]{"line1" ,"img"},
    new int[]{R.id.text1,  R.id.img});

    //books.setListAdapter(notes);
        }

    }

      必須繼承這個類ActivityInstrumentationTestCase2,通過泛型把要單元測試的目標類聯系起 來,ActivityInstrumentationTestCase2,Books就是目標類,setUp() 方法是自動生成,因為剛才在創建的時間把“setUp()”的選項卡勾上了,如果沒勾上的話,就重寫一個,然后寫兩個方法 testPreconditions()和testText(),testText是單元測試的執行類,testPreconditions()不知道具 體干嘛的,千萬切記要把這三個方法都寫出來,否則報出來的錯,你去google都搜不到解決方法。由于必須得有這三個類,而Junit4里是通過 annotation的方式標注測試的行為,android test project中用junit4可能會達不到預期效果,沒測試過,反正在junit里少那三個方法,也是不行的,這是實踐過的。

      最簡單的單元測試就這樣了。android的單元測試也是有一個很大的框架,ActivityInstrumentationTestCase2上面也繼承了好多層。

    原文轉自:http://www.blogjava.net/qileilove/archive/2012/09/04/386931.html

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>