android单元测试

记得上期同城会的时候有个哥们说android是不是不支持单元测试呢?怎么我们项目组怎么整都报错呢?然后当时随便回答了一下,这个肯定支持的,估计是你们清单文件没配置吧,下来把文件发我看下,一直以为这比较简单的东西就不想写,结果刚才还有个哥们也问同样的问题,那么还是简单写一下吧,这个确实太基础的玩意了,以后还有问的就自己来看得了,^_^。
一、配置单元测试的环境
打开自己项目中的AndroidManifest.xml配置文件,把单元测试需要的测试库和测试框架配置好,


在application节点内,与四大组件平级(之前有个同事说在某本中文android书籍上看到,说这个单元测试库必须配置在四大组件之前,应该是前后都是可以的),如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
<application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <!-- 单元测试库 -->
        <uses-library android:name="android.test.runner"/>
        <activity
            android:name=".MainActivity"
            android:label="@string/title_activity_main" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
</application>

接下来配置instrumentation
instrumentation与application是平级的,具体如下:


其中android:name为:android.test.InstrumentationTestRunner
android:targetPackage为:AndroidManifest.xml下的package内容,即应用程序包名。

二、创建测试类
1、单元测试类需要继承android.test.AndroidTestCase这个类
2、单元测试方法需要声明为public类型
3、按照Junit3的规范,一般单元测试方法命名都是以test开头,然后跟着业务方法名,一般单元测试方法的返回值类型为void类型。
如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import android.test.AndroidTestCase;
import android.util.Log;

public class FileUtilsTest extends AndroidTestCase {

    private static final String TAG = "FileUtilsTest";
    private FileUtils fileUtils;

    @Override
    protected void setUp() throws Exception {
        fileUtils = new FileUtils(this.getContext());
    }

    @Override
    protected void tearDown() throws Exception {
        super.tearDown();
    }

               public void testReadFile()throws Throwable{
        byte[] data = fileUtils.readFile("myclover_demos.txt");
        Log.i(TAG, new String(data));
    }
}







原文地址: http://my.eoe.cn/myclover/archive/3033.html
原文地址:https://www.cnblogs.com/shipeng22022/p/4614054.html