Android项目使用Eclipse进行单元测试

Android项目如果每次都整个调试的话,要加载UI,会等很长时间。所以单元测试就显得很方便了。

 

要进行单元测试,首先得修改下AndroidManifest.xml文件。在Instrument标签里点右侧的Add按钮。然后在弹出的窗口双击 Instrument。然后在右侧就会多出一些东西赖。先选择第二行的Target package 的Browse……,选择要测试的包。或者要测试的类所属的包。我这里选的事 com.example.scrollview 包,然后再选择第一行 Name 后的Browse ,可能会搜索一会儿,然后下面就会有一个 “android.test.InstrumentationTestRunner” 选中它,然后保存AndroidMenifest.xml。

 

 

然后打开AndroidMenifest.xml的标签,发现在 Application标签上面多了一行 如下的代码

<instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.example.scrollview"></instrumentation>

要想进行单元测试还得加些东西,是在 Application里面,加入如下一行 。

<uses-library android:name="android.test.runner"/> 其中android:name 的值可以用 Alt+/来让Eclipse帮你自动补充进去。

 

 

接下来就要写测试代码了。

在刚才选的包下面建一个测试类,也可以是这个包的子包里。这个测试类要继承 AndroidTestCase 比如MyTest 在他的类里面可以写测试方法。完成后,右击方法名,选择run as=》Android JUnit Tset。也可以进行调试,选好断点后,右击方法名,选择 debug as =》 Android JUnit Tset

package com.example.scrollview.test;

import org.apache.http.client.HttpClient;
import org.apache.http.protocol.HTTP;

import com.example.scrollview.utils.HttpUtil;

import android.test.AndroidTestCase;
import android.text.Html;
import android.util.Log;

public class MyTest extends AndroidTestCase {
    String testUrl = "http://192.168.1.2/post.php?key=name";
    String params = "name=xiaoming&weight=78";
    
    public void testHttpGet() {
        String message = HttpUtil.sendGetMethod(testUrl, params, HTTP.UTF_8);
        
        Log.d("shang", "testHttpGet:" + Html.fromHtml(message));
    }
    
    public void testHttpPost() {
        String message = HttpUtil.sendPost(testUrl, params, HTTP.UTF_8);
        Log.d("shang", "testHttpPost:" + Html.fromHtml(message));
    }
}

 

这个要求连上手机,或者有模拟器,但实际上不会调用UI,所以还是很快的,更主要的是他可以独立的测试一个类或方法。

posted @ 2015-06-12 11:44  達達尼亞  阅读(1745)  评论(0编辑  收藏  举报