ubuntu 下android项目单元测试

来源:互联网 发布:小米max2保护壳淘宝 编辑:程序博客网 时间:2024/05/17 02:25

前面的步骤简单说一下, 新建一个单元测试工程, 然后新建测试类, 勾选需要测试的方法,详细可参考下面的链接

http://www.cnblogs.com/meizixiong/archive/2013/01/06/2847731.html

http://www.blogjava.net/qileilove/archive/2014/08/18/417055.html


Manifest 如下, 这里需要添加instrumentation和<uses-library android:name="android.test.runner" />

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="xxx"    android:versionCode="1"    android:versionName="1.0" >    <uses-sdk android:minSdkVersion="7" />    <instrumentation        android:name="android.test.InstrumentationTestRunner"        android:targetPackage="xxx" />    <application        android:icon="@drawable/ic_launcher"        android:label="test for news" >        <uses-library android:name="android.test.runner" />    </application></manifest>

下面是写好后的测试类, 代码只作参考, 

import android.test.AndroidTestCase;public class NewsRequestWrapperTest extends AndroidTestCase {    public static final String TAG = "NewsRequestWrapperTest";    protected void setUp() throws Exception {        super.setUp();    }       public void testListTopNews() {        Log.i(TAG, "Junit test testListTopNews");        mRequestWrapper.listTopNews(MAX_TOP_NEWS, new AsyncNewsResponseHandler() {               @Override               public void onSuccess(List<News> newsList) {                   assertTrue( newsList.size() == 3);                                  }               @Override               public void onFailure() {                   assertTrue( false );               }           });    }}

后面是与java junit不同的地方, 因为 extends AndroidTestCase, 所以最后可以生成apk, 把这个apk 安装到手机中或模拟器中,

然后可以用adb shell am 命令的方式运行我们写好的单元测试。

        命令如下:

adb shell am instrument -w packagename/android.test.InstrumentationTestRunner

这里换成自已测试工程的包名即可, 这样就可以运行单元测试用例了, 此处的链接如下:

http://blog.csdn.net/xianming01/article/details/7463066


当然在我们的测试类中, 有可能很很多异步的操作, 如线程, AsyncTask, http等, 对于这类情况,

处理如下:

http://www.cnblogs.com/china-ldw/p/3446229.html

http://blog.csdn.net/henry121212/article/details/7837074


0 0
原创粉丝点击