Android单元测试研究与实践(3)

发表于:2017-02-21来源:meituan作者:潘铭炜 黄超点击数: 标签:单元测试Android
classpathorg.robolectric:robolectric-gradle-plugin:0.14.+//这行配置在buildscript的dependencies中 applyplugin:robolectric androidTestCompileorg.robolectric:robolectric:2.4 上述配置中,本文


  1. classpath 'org.robolectric:robolectric-gradle-plugin:0.14.+'//这行配置在buildscript的dependencies中 
  2.  
  3. apply plugin: 'robolectric' 
  4.  
  5. androidTestCompile 'org.robolectric:robolectric:2.4' 

上述配置中,本文将testCompile写成androidTest,并且常见的Android工程的单元测试目录名称有test也有androidTest,这两种写法并没有功能上的差别,只是Android单元测试Test Artifact不同而已。Test Artifact如图3所示:

Test Artifact

图3 Test Artifact

在Gradle插件中,这两种Artifact执行的Task还是有些区别的,但是并不影响单元测试的写法与效果。虽然可以主动配置单元测试的项目路径,本文依旧建议采用与Test Artifact对应的项目路径和配置写法。

Mock配置

如果要测试的目标对象依赖关系较多,需要解除依赖关系,以免测试用例过于复杂,用Robolectric的Shadow是个办法,但是推荐更加简单的Mock框架,比如Mockito,该框架可以模拟出对象来,而且本身提供了一些验证函数执行的功能。Mockito配置如下:

原文转自:http://tech.meituan.com/Android_unit_test.html