【单元测试】

Android学习笔记:对Android应用进行单元测试
关于Android单元测试,你需要知道的一切
Android单元测试——初探

在运行在JVM上,不依赖Android环境

如基础的 JUnit+Mockito+MVP 或比较全面的JUnit + Mockito + Dagger2 + Robolectric

优点:测试速度快,正常情况快下都为秒级别
缺点:存在局限性,如JUnit+Mockito+MVP是在JVM上运行的,没有

Android的运行环境(没有Android相关方法的具体实现),需要对Android有依赖的单元进行依赖隔离,因此无法测试与Android相关的单元;JUnit + Mockito + Dagger2 + Robolectric虽然Robolectric模拟了Android环境,让测试代码在JVM中能够测试Android相关的单元,但是Robolectric仅支持API21及以下,并且不支持JNI库,当被测类中涉及JNI(如百度地图SDK)如果没有进行依赖隔离,测试类将会报错,无法正常运行。

依赖Android环境,需要运行在模拟器或真机上

如Android提供的Instrumentation测试框架、Espresso

优点:测试的覆盖面大,由于运行在模拟器或真机上,因此能够测试与Android相关的单元
缺点:运行时间长,由于行在模拟器或真机上所以会经历打包和安装的过程,导致消耗较多的时间

根据实际情况,可以灵活切换以上两种方案

你可能感兴趣的:(【单元测试】)