Android的测试框架相关的API主要定义在三个包中:
- android.test 用于编写Android测试用例
- android.test.mock 定义了方便测试用的测试“桩”类
- android.test.suitebuilder 运行测试用例的Test Runner类
Android 测试API 是基于JUnit 扩展而来,并添加了与Android平台相关的测试API。
JUnit
你可以直接使用JUnit中相关API编写一些和平台无关的测试用例(基于TestCase), Android 测试API中提供了一个TestCase的子类AndroidTestCase ,可以用来编写一些Android相关的对象的测试用例,AndroidTestCase 支持一些和平台相关的setup,teardown 以及setup 方法。
你也可以直接使用JUnit 的Assert 方法 显示测试结果,这些Assert方法可以通过比较预期的值和实际的值,如果不同可以排除异常。Android 测试API扩展了一些Assert方法用于支持和Android平台相关的比较。
要注意的是,Android 测试API支持JUnit 3 代码风格,而不支持JUnit 4 代码风格,也只能使用InstrumentationTestRunner 来运行测试用例。
Instrumentation
Android 的Instrumentation 提供了一些“钩子”方法连接到Android操作系统中,可以独立控制Android组件(Activity,Service等)的生命周期,并可以控制Android如何调用一个应用。
在通常情况下(普通的Android应用),Andro