android平台测试支撑主架构如下:
1、Instrumentation
java.lang.Object
↳ android.app.Instrumentation (Android测试环境的核心,通过将主程序和测试程序运行在同一个进程来实现;允许测试用例访问程序的状态及运行时对象)
java.lang.Object
↳ android.app.Instrumentation
↳ android.test.InstrumentationTestRunner (测试执行类,清单文件中必须配置;我们使用adb shell am instrument.....命令时,必须指定该类,或者自己编写的子类)
2、junit.framework.TestCase (测试用例和用例集的组织结构,作为框架提供测试API)
java.lang.Object
↳ junit.framework.Assert
↳ junit.framework.TestCase
↳ android.test.InstrumentationTestCase
↳ android.test.ActivityTestCase
↳ android.test.ActivityInstrumentationTestCase2
java.lang.Object
↳ junit.framework.Assert
↳ junit.framework.TestCase
↳ android.test.AndroidTestCase (测试基类;不能使用Instrumentation框架。但这些类包含访问系统对象(如Context)的方法。使用Context,你可以浏览资源,文件,数据库等等。)
Interfaces:
android.test.PerformanceTestCase
Known Direct Subclasses:
AndroidTestCase,
InstrumentationTestCase,可以使用Instrumentation框架,用于测试Activity。使用Instrumentation,Android可 以向程序发送事件来自动进行UI测试,并可以精确控制Activity的启动,监测Activity生命周期的状态。
TestSuiteBuilder.FailedToCreateTests
Known Indirect Subclasses
ActivityInstrumentationTestCase
ActivityInstrumentationTestCase2
ActivityTestCase,
ActivityUnitTestCase
ApplicationTestCase
LoaderTestCase,
ProviderTestCase
ProviderTestCase2
ServiceTestCase
SingleLaunchActivityTestCase
SyncBaseInstrumentation