Android单元测试-基本

来源:互联网 发布:小学网络安全教育题目 编辑:程序博客网 时间:2024/06/02 06:19

Android测试基础:

Android测试框架, 作为Android开发工具的一部分, 提供了一系列有效的工具帮助开发者测试app的各个方面。

测试框架有如下特点:

*  基于JUnit。你可以使用JUnit来测试没有使用Android API的普通类,或者使用Android特有的(AndroidTestCase等)测试类来测试Android组件。


测试项目:

测试项目像开发的android项目一样, 必须按照标准来组织。


The Testing API

* JUnit, Assert: 可以测试跟Android无关的普通类:

* Instrumentation: Android instrumentation是很多控制方法的集合或者称为系统"钩子"。这些"钩子"独立地控制Android组件的生命周期,同样

  也可以控制Android怎样加载这些组件。

  通常情况下, Android组件的生命周期由系统决定。例如Activity, onCreate----onPause-----onResume-----onStop-----onDestroy等都是由系统调用,

  你不能直接调用这些方法。但是用Android Instrumentation,可以在你的测试代码中一步一步地调用这些方法, 类似单步调试。

Test case classes

 * AndroidTestCase

 * Component-specific test cases

  Activity Testing 
  Content Provider Testing
  Service Testing

*  InstrumentationTestCase



Eclipse下进行Android单元测试:
选中其所在的Android工程---->鼠标右键----->new---->Android Test Project----->输入测试工程名--->next----->选择被测试的目标android工程----->Finish.
这样,一个测试工程就创建完成了。

通过eclipse创建自动生成的测试工程项目和android工程项目结构上没什么大的区别,主要是在AndroidManifest.xml中有变化,如下:
<instrumentation        android:name="android.test.InstrumentationTestRunner"        android:targetPackage="com.king.androidtestcase" />


假设Android有一个待测试类Calculate.java
public class Calculate {public int add(int x, int y) {return x+y;}}

在测试项目中这样测试, 新建一个类CalculateTest继承TestCase:
import com.king.androidtestcase.Calculate;import junit.framework.TestCase;public class CalculateTest extends TestCase {protected void setUp() throws Exception {super.setUp();}public void testAdd() {Calculate cal = new Calculate();int ret = cal.add(10, 20);System.out.println("ret = "+ret);assertEquals(30, ret);}protected void tearDown() throws Exception {super.tearDown();}}

代码写完后,在测试工程中选中测试类---->鼠标右键--->Run As---->Android Junit Test。这样,测试结果就可以在eclipse的Junit视图上显示了。



Android Studio添加单元测试的方法:

点击打开链接


0 0
原创粉丝点击