Android中的Junit单元测试

在实际开发中,经常要对已经实现的功能进行单元测试,以保证当前单元没问题,尽可能的减少已有功能的bug

和Java中的开发一样,Android中对单元测试也可以采用Junit,在Junit中可以得到组件,可以模拟发送事件和检测程序处理的正确与否

在Android中要使用Junit单元测试,只需简单的两个步骤就可以用Junit进行单元测试应用了

1.清单文件AndroidManifest.xml中添加instrumentation工具类和uses-library

2.写一个测试类,继承自AndroidTestCase类

具体说明

1、在Android的测试项目中的清单文件AndroidManifest.xml中添加instrumentation工具类和uses-library

在AndroidManifest.xml配置instrumentation 和 uses-library

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.yihui.storgedatefile"android:versionCode="1"android:versionName="1.0" ><uses-sdkandroid:minSdkVersion="8"android:targetSdkVersion="19" /><!-- 1、配置Junit单元测试工具instrumentation--><!--   测试工具类 android:name:android.test.InstrumentationTestRunner,--><!--   要测试哪个包里面的应用 com.yihui.storgedatefile--><instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.yihui.storgedatefile"/><applicationandroid:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme" ><!-- 2、为Junit单元测试导入Library --><uses-library android:name="android.test.runner"/><activityandroid:name="com.yihui.storgedatefile.MainActivity"android:label="@string/app_name" ><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application></manifest>

2、写单元测试用例

写一个测试类,继承自AndroidTestCase类;然后写测试方法

package com.yihui.storgedatefile.test;import java.io.File;import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Environment;
import android.test.AndroidTestCase;
import android.util.Log;public class FileStorgeTestCase extends AndroidTestCase {private static final String TAG = "FileStorgeTestCase";/* 测试方法,测试app应用数据存储的路径 */public void testGetFileDir(){//手机SDCard DirFile externalStorageDir = Environment.getExternalStorageDirectory();Log.i(TAG, "SD卡文件路径: " + externalStorageDir.getPath());      /*  /storage/sdcard  *///手机内存卡  DirFile phoneStorageDir = Environment.getDataDirectory();Log.i(TAG, "手机内存卡文件路径: " + phoneStorageDir.getPath());//手机内存卡files DirFile filesDir = getContext().getFilesDir();Log.i(TAG, "files Dir: " + filesDir.getPath());//手机内存卡cache DirFile cacheDir = getContext().getCacheDir();Log.i(TAG, "cache Dir: " + cacheDir.getPath());//shared_prefs Dir//SharedPreferences sharedPreferences = getContext().getSharedPreferences(null, Context.MODE_PRIVATE);SharedPreferences sharedPreferences = getContext().getSharedPreferences("MyFile", Context.MODE_PRIVATE);Editor edit = sharedPreferences.edit();edit.putString("姓名", "李yi辉");edit.putInt("Android Level", 1);edit.commit();}
}

http://blog.csdn.net/yihuiworld

Android中的Junit单元测试相关推荐

  1. 【android】AS中使用Junit单元测试和Android JUnit 单元测试

    AS中使用Junit单元测试和Android JUnit 单元测试 在AndroidStudio中使用单元测试 1. 前言 在Android开发中,如果对一个简单的功能,每次修改代码都重新运行到设备中 ...

  2. SSM中进行Junit单元测试时无法注入service

    场景 在SSM项目中进行Junit单元测试时调用外部的service时,在使用时打断点发现为空. 代码如下: public class AlipayTester {private PassOrderS ...

  3. android中断言_Android单元测试(一)

    这章就先来说说android中单元测试的操作,简单走一遍单元测试的流程. 为什么要用到单元测试呢,一般开发谁会写单元测试,反正我认识的人都不会做,又耗时间,效果又一般,要是在单元测试的代码里面又出BU ...

  4. idea中使用JUnit单元测试

    idea中 Java的JUnit单元测试 步骤操作:1.需要在project下新建一个文件夹,用于存放自动生成的测试.java文件 2.将这个文件夹设置为存放生成测试文件的目录 点击确定 确定后新建一 ...

  5. 框架开发中的junit单元测试

    首先写一个测试用的公共类,如果要搭建测试环境,只要继承这个公共类就能很容易的实现单元测试,代码如下 import org.junit.runner.RunWith; import org.spring ...

  6. Android下的junit 单元测试

    在 AndroidManifest.xml  中加上以下文件   public class UserTestCase extends AndroidTestCase 继承 AndroidTestCas ...

  7. 在Android中进行单元测试遇到的问题

    问题1.Cannot connect to VM  socket closed 在使用JUnit进行测试的时候,遇到这个问题.网上的解释是:使用Eclipse对Java代码进行调试,无论是远程JVM还 ...

  8. java中JUnit单元测试的使用方法

    package com.atguigu.java2;import java.sql.Date;import org.junit.Test;/** java中的JUnit单元测试* 步骤:(可以直接写@ ...

  9. 静态路由_在Android中模拟静态方法:让我们总结一下

    静态路由 在Android中编写本地单元测试时,面临的局限性之一是测试是针对没有任何代码的android.jar版本运行的. 如文档所述,必须模拟对Android代码的任何依赖关系. 一个简单的单元测 ...

最新文章

  1. (转)详解css3弹性盒模型(Flexbox)
  2. 非营利组织Eatbch展示了每一个小的微交易是如何起作用的
  3. springboot 自动装配_Spring Boot 自动装配流程
  4. $Java-json系列(二):用JSONObject解析和处理json数据
  5. 【字符串操作之】从原字符串中切出一段,返回一个新的字符串→→slice方法...
  6. bzoj 3680 吊打xxx
  7. select 和epoll模型区别
  8. iTextSharp应用,生成pdf
  9. 前端学习(553):node实现登录和注册第一部分代码
  10. Alios Things的Flash划分规则
  11. 架构设计 | 分布式系统调度,Zookeeper集群化管理
  12. 《又见一帘幽梦》高清视频
  13. clob mybatis_spring + mybatis 存取clob
  14. The path C:\Oracle\Middleware\wlserver_10.3 contains the wrong version of WebLogic Server. Expect
  15. (转)MapReduce中的两表join几种方案简介
  16. Docker系列(九)Docker的远程访问
  17. 真香警告!java时间格式转换工具
  18. 软工网络15团队作业8——Beta阶段冲刺合集
  19. 笔记本无线上网的问题
  20. DOS命令全集【经典全集!】

热门文章

  1. 实验吧-CTF-web-头有点大貌似有点难看起来有点难(学习笔记)
  2. 程序员数学(16)--二次根式
  3. MAC地址 单播,组播,广播
  4. 白盒测试与黑盒测试的定义与区别
  5. 搜索引擎常用搜索技巧
  6. SVN如何本地拉取项目
  7. linux网卡操作命令 ,查看Linux下网卡连接状态(up还是down)?
  8. Node.js的卸载
  9. 基于S3C2410A的MDB/ICP协议的实现
  10. 如何写产品介绍PPT