Android UnitTest FrameWork

  1. Android test suites基于Junit,可以直接使用Junit测试不使用android api的class,也可以使用android的Junit extensions测试android component
  2. android的Junit extensions提供了基于component的测试类,这些类可以帮助创建mock 对象,控制componetn的生命周期
  3. Android testing apid支持Junit3的code style,而不是Junit4
  4. Android instrumentation提供了方法可以调用android component的生命周期方法,如Activity的onCreate,onResume等
  5. 首先要把Junit.jar加到app的lib路径下,再要测试的类上执行如图操作,会生成test类PieceImageTest,注意PieceImageTest没有继承任何类,这时候执行test方法会得到如下错误信息:
    junit.framework.AssertionFailedError: No tests found in
    需要让PieceImageTest继承TestCase之后就可以运行test case了,测试方法名可以不用以test开头

  6. Junit4 本身已经不要求测试类要继承自TestCase了,但在Android Studio中不继承TestCase会抛出No tests found in的错误,另外Junit4.11 中不包含Hamcrest包,Hamcrest用于增强Junit测试能力
时间: 2024-10-12 16:29:12

Android UnitTest FrameWork的相关文章

Android的Framework分析---5 ActivityManager分析

ActivityManager是android框架的一个重要部分,它负责一新ActivityThread进程创建,Activity生命周期的维护,管理系统中的Acitvity的状态切换. 这边内容还有更多内容,详细请参看ActivityManager.java ,ActivityMangaerNative.java 和SystemServcer.java 文件. 这几个的类的关系如下: 上图很清楚地描述了ActivityManager框架的几个主要类之间的关系,我们做应用开发接触很多的其实就是A

Android—Camera Framework C/S架构服务请求

在前一篇文章Camera Client/Server的binder IPC机制中阐述了Android进程间通信binder IPC机制基础,Android Camera基于这个基础设计了Camera Framework Client/Server架构,文中给出了其类图设计.本文从Android 4.4 版本源码入手,分析Camera App向Camera Service请求服务与返回的过程.服务请求的过程从上到下依次要经过三个大的过程:1. Camera App调用Framework Camer

Android application testing with the Android test framework

目录(?)[-] Android automated testing 1 How to test Android applications Tip 2 Unit tests vs functional tests 3 JUnit 3 4 Running tests on a server without display Test hooks into the Android framework 1 Instrumentation 2 How the Android system executes

使用eclipse调试android的framework源码

http://www.eoeandroid.com/forum.php?mod=viewthread&tid=325492 这篇文章中的第3和第4章分别介绍了java和c/cpp代码的调试,调试可以大大减少log查看花费的工作量. (1)调试java代码已经验证过了,主要是在eclipse中建立一个相同package名的安卓应用工程, 工程目录中导入源码,并在java窗口打开:在DDMS中去指定要调试的thread,在Debug窗口打开源码设置断点: 如果目录结构能同包名,则可以直接调试 如果目

Android的Framework分析---4硬件抽象HAL

大家都知道android是基于linux的kernel上的.android可以 运行在intel,高通,nvidia等硬件平台.但是涉及到一些GPU,显卡和一些设备的驱动问题,因为这些驱动都不是开源的,google位了兼容这些设备厂商的驱动源码,提出了硬件抽象层HAL的概念.HAL层对上为framework和native开发提供统一的API接口,为下层驱动的代码提供统一的调用接口.本文主要讲解HAL是如何实现的. 1.HAL的数据结构 HAL的通用写法里面有两个重要的结构体: 1.1 hw_mo

android编译framework架包运行报错 (转)

android编译framework架包运行报错 http://blog.csdn.net/cqupt_chen/article/details/8163632 最近在看frameworks里的源码,手痒了,便想改改看看效果,没想到改完后,模拟器却运行不起来了.        首先声明,我是用的android 4.0.3 ICS的源码,编译好后,利用编译好的镜像启动的模拟器,以前修改过里面的Launcher,将生成的Launcher.apk和Launcher.odex  push后是成功的.现在

Android 添加framework资源包

为Android系统添加一个新的资源包 概述 传统的Android系统只有一个framework-res.apk资源包,第三方厂商在进行rom定制时会直接修改framework res资源,达到适配目的.但是这种方式跟原生资源的耦合度过高,在系统迁移或者framework ui移植时需要进行人工merge,工作量巨大.通过为Android添加一个新的独立的资源包,可以将厂商定制资源独立出来,可移植.可维护性非常好. 实现 具体做法可以分为以下几个步骤: 1)修改build/core/clear_

Android之framework修改底部导航栏NavigationBar动态显示和隐藏

大家都知道,Android从3.0版本开始就加入了NavigationBar,主要是为那些没有实体按键的设备提供虚拟按键,但是,它始终固定在底部,占用48dp的像素高度,尽管从android 4.4开始可以全透明,使用这一部分像素,但三个按钮始终悬浮在屏幕上,这对于有强迫症的朋友来说是无法忍受的.因此,本文的目的就是修改framework部分代码,可以动态隐藏和显示NavigationBar,同时又尽量不影响系统的正常. 主要思路: 在NavigationBar的布局左部加入一个Button(在

android unittest写法

首先,新建一个android application  ,然后会自动生成一个包名,假如这个包名为itcat.wh.unit 同时加入在这个包下面有一个逻辑包,名为itcat.wh.unit.Dao,在这个包下面有一个需要测试的类,类名为 PersonDao.java 那么久需要写一个测试包:包名+.test 测试类:需要测试的类名+.test 注意还要在清单列表中,在application标签中写上 use-libiary 权限 在application下面写上instrucaiton  同时指