`
samwong
  • 浏览: 282015 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android测试汇总

 
阅读更多

ApplicationTestCase:用于测试全部应用。它可以注入一个模仿Context到应用中,在法度启动前设置初始的测试参数,以及在应用停止后烧毁前搜检相干数据。

ProviderTestCase2:用于自力地测试单个的ContentProvider。因为限制应用模仿的MockContentResovlver,并且注入一个自力的IsolatedContext,使得这个provider测试自力于操纵体系的其余项目组。

ServiceTestCase:用于自力地测试单个的Service。开辟人员可以应用它注入一个模仿的Context或者更模仿的应用(或者两者都注入),或者请求Andorid供给一个完全的Context和一个MockApplication

这些测试activitiesAPI扩大了JUnit TestCase类,并应用了指令框架。应用指令, Android可以向测试中的应用法度发送时候进行主动化的界面测试,可以正确地把握activity的启动,以及在activity的全部生命周期中监测它的状况。

基类是InstrumentationTestCase。它的所有子类都可以向测试应用发送键盘敲击时候和屏幕触摸事务,也可以注入一个模仿的Intent

ActivityInstrumentationTestCase2:这个类用于在正常的体系景象下测试单个的activity。你不注入模仿的Context,但可以注入模仿的Intent。同样的,你可以在UI线程(被测法度的主线程)中运行测试办法,这容许你向应用界面发送按键与触摸事务。

断言类

Android同样也扩大了JUnitAssert类,这是测试代码中assert()的根蒂根基。这个类有两个扩大MoreAssertsViewAsserts

MoreAsserts包含了加倍强大的断言,例如支撑正则表达式匹配的assertContainsRegex(String,String)

ViewAsserts包含了用于Android Views的断言,例如只可以检测在屏幕的某个地位是否存在某个View控件的assertHasScreenCoordinates(View,View,int,int)。这些断言简化了UI的外形地位和分列的测试。

Mock对象类

Android供给了创建模仿的体系对象,例如应用法度、高低文、content resovlersresourcesAndroid也供给了一些创建模仿Intent的测试类。这些对象使依附关系注入加倍轻易,因为应用它们比创建真实的对象简单。这些类定义在android.testandroid.test.mock中。

IsolatedContext:模仿了一个高低文,应用法度应用它可以自力运行。同时,它还有足够的桩代码来处理惩罚与高低文通信的OS代码。这个类用于单位测试。

RenamingDelegatingContext:当一个已经存在的通俗高低文改变它的默认文件和数据库名时,将大多半高低文的功能委托这个高低文。如许可以应用一个通俗的体系高低文和测试名称测试文件和数据库操纵。

MockApplicationMockConentResolverMockContentMockDialogInterfaceMockPageManagerMockResource:测试中应用的创建模仿体系对象的类。它们仅仅露出那些用于经管对象的接口。这些办法的默认实现是简单的抛出一个异常。当测试应用调用这些办法时,你应当扩大这些类并覆写这些办法。

指令测试履行器

Android供给了一个定制类用于运行带有指令调用的测试,叫做InstrumentationTestRunner。这个类把握测试中的法度,在同一个过程中运行测试法度以及主法度,并将测试输出发送到恰当地位。InstrumentationTestRunner在运行时把握全部测试景象的关键是指令的应用。重视,即使在你的测试类中没有应用指令,也会应用这个测试履行器。

当你运行一个测试法度时,你起首运行体系组件Activity经管器。它应用指令框架启动和履行测试履行器,测试履行器反过来应用指令封闭所有运行的主法度的实例,启动测试法度,然后在同一过程中启动启动主法度。这容许测试法度从不合的角度与主法度交互。

若是你应用Eclipse开辟,ADT插件可以帮助你设置InstrumentationTestRunner或其它测试履行器。插件会提示你指定应用哪个测试履行器和被测试应用的package名称,插件会主动添加一个<instrumentataion>元素到测试法度的manifest文件,并填充恰当的属性。EclipseADT插件会主动在应用指令的Activity经管器的把握下启动测试应用,并将测试输出重定向到EclipseJUnit视图窗口中。

若是你应用号令行,你可以应用Antandroid对象帮助你设置你的测试。可以应用adb对象接见Activity经管器运行带指令的测试,并将输出定向到标准输出上。

应用测试景象

测试法度包含了对一个Android应用的测试代码,它本身也是一个Android应用。测试应用存放于一个自力的Android中,它和标准的Android应用一样拥有文件和目次。测试法度经由过程它的manifest文件链接到被测应用。

每个测试应用包含一个或多个测试用例类,它们派生于特定类型组件的Android类。这些测试用例类包含了一些办法,它们定义了对被测应用的某项目组的测试。当你运行测试应用,Android会启动测试应用,加载被测试应用到同一个过程中,然后调用这个测试用例类中的每个办法。

测试所需的对象和流程取决于你应用的开辟景象。若是你应用EclipseADT插件会供给工作帮助你开辟和运行测试。请参考主题Testing in Eclipse, with ADT 若是应用其它开辟景象,你须要应用号令行对象,请参考Testing in Other IDEs

应用测试

要开端测试一个Android应用,你要应用Android对象为它建树一个测试。对象会建树文件夹和须要的文件和子目次。对象也会建树一个连接到被测试法度的manifest文件。应用Eclipse ADT插件建树测试的步调在Testing in Eclipse, with ADT 中有描述,应用其它开辟对象的步调描述在文档Testing in Other IDEs中。

应用测试用例类

一个测试应用包含一个或多个扩大自Android测试用例类的测试用例类。选择哪个测试用例类,取决于你要测试的Android组件的类型和要测试的内容。一个测试应用可以测试不合的组件,划每个测试用例被设计成只能测试单个类型的组件。Android测试用例类的描述在章节The Testing API 中。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics