• 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
    
  • 相关阅读:
    extjs 登录
    Digg 顶 踩(jQuery+Ajax)
    长度不能小于 0。 参数名: length
    .net 资料
    Micromedia Flash Player已终止一项可能不安全的操作解决办法
    SQL SERVER 与ACCESS、EXCEL的数据转换
    排名 sql
    FileUploaderAJAX 无刷新上传
    Microsoft Office Access ActiveX 部件不能创建对象
    流量分析作用
  • 原文地址:https://www.cnblogs.com/shipeng22022/p/4614054.html
Copyright © 2020-2023  润新知