Android 测试框架(Junit、Mockito、Robolectric、Espresso)

前言

本文基于 github 项目 Ninja2005/AndroidTestandroid

测试是Android开发过程当中的重要组成部分,经过对APP进行持续的运行测试,你能够在发布以前验证程序的正确性、功能和可用性。git

测试金字塔

三类测试:Unit tests、Integration tests和UI testsgithub

Unit Tests(单元测试)

单元测试,包含两种类型:Local tests、Instrumented tests数据库

  • Instrumented tests(仪器测试)网络

    1. 指定测试运行器 @RunWith(AndroidJUnit4.class)框架

    2. 指定测试的运行时长以及运行频率工具

      @SmallTest 不容许文件文件、数据库、网络。运行时间200ms单元测试

      @MediumTest 访问文件、数据库。运行时间1000ms测试

      @LargeTest 访问文件、数据库、网络,大多数的UI测试。运行时间1000ms3d

  • 测试框架

    本项目用到的4种框架:Junit、Mockito、Robolectric、Espresso

  • Junit

    JUnit4是一个Java语言的单元测试框架。

  • Mockito

    Mockito是一个mock框架,经过Mockito来mock出其余的依赖对象,用来替换真实的对象,使得待测的目标方法被隔离起来,避免一些外界因素的影响和依赖。

  • Robolectric

    Robolectric是三方开源的单元测试框架,经过实现一套JVM能运行的Android代码,而后在unit test运行的时候去截取android相关的代码调用,而后转到本身实现的代码去执行这个调用的过程。 运行器:@RunWith(RobolectricTestRunner.class)

  • Espresso

    Espresso是Google开源,白盒风格的UI测试工具,运行基于 SDK。 运行器:@RunWith(AndroidJUnit4.class)

相关文章
相关标签/搜索