关于安卓单元测试,你需要知道的一切

单元测试是个技术活,它有自己的一套知识体系,要做好单元测试,的确是需要学习和不断的在实践中练习的。好消息是,这套知识体系的范围相对来说是有限的,因此,只要耐心的学习和练习一段时间,就可以做好日常大多数的需求。然后国内这大环境和氛围,大家都清楚,大部分时候大家都在赶feature,赶上线,以至于单元测试这件事情,往往被忽略,甚至从来没考虑过,而这一点在移动开发上面则更加严重。这导致的结果就是,网上很难找到比较系统的关于单元测试各个方面的文章。这就让有些童鞋那怕有做单元测试的想法,却不知道从何下手,因此导致一个恶性循环。
出于这点原因,我根据自己的一些经验和想法,写了一个系列的文章,至此为止写了8篇,然而经常发现有朋友对前面的一些概念不是很清楚,从网站找之前的一些文章又不是很方便,因此整理了这样一篇汇总性的文章,希望能让大家对此有个更整体化的了解,如果某一方面的东西不是很清楚,也能很快找到参考。

以下文章是这个系列文章的总结。

  1. 什么是单元测试:介绍了什么是单元测试,里面澄清了一个最常见的误解,同时介绍了有返回值和没有返回值两种不同的函数——对于OO来说,应该叫“方法”,但是中文里面“方法”这个词太容易产生误解了,因此我这里用函数来代替,这就是翻译尴尬的地方。所以很多时候我建议不如直接用英文单词本身,而不是非要硬生生翻译过来。
  2. 为什么要做单元测试:对于什么要做单元测试的个人之见。
  3. JUnit单元测试框架的使用:介绍了题目中说的内容,JUnit是最基础的一个单元测试框架。
  4. Mock以及Mockito的使用:mock自古以来就是单元测试不可分割的一部分,这篇介绍了mock的概念和使用。
  5. 依赖注入,将mock方便的用起来:为了将mock更方便简洁优雅的用起来,我们需要用到依赖注入。这篇文章介绍了依赖注入的概念和使用。
  6. 使用dagger2来做依赖注入,以及在单元测试中的应用:上一篇文章讲了依赖注入,而Dagger2能让我们易如反掌的使用依赖注入的模式,代码的耦合度变得非常低。
  7. Robolectric,在JVM上调用安卓的类:解决在JVM上做单元测试的时候,无法调用和测试安卓的类的问题。
  8. 安卓单元测试(八):Junit Rule的使用:解决在JVM上做单元测试的时候,无法调用和测试安卓的类的问题。
  9. 安卓单元测试(九):使用Mockito Annotation快速创建Mock: 使用Mockito Annotation提高创建Mocks的效率
  10. 安卓单元测试(十):DaggerMock, 让Dagger2与单元测试的结合易如反掌 如果你的项目使用Dagger2,那么DaggerMock绝对是单元测试的神器
  11. 安卓单元测试(十一):异步代码怎么测试 这是被问的最多的一个问题之一,介绍怎么样给异步代码做单元测试

其它的一些文章:

Android单元测试在蘑菇街支付金融部门的实践:这个是在InfoQ的移动前线学习分享群里面作的一个分享,讲了的单元测试在蘑菇街支付金融部门的实践。

安卓单元测试是不是只有这些东西?当然不是,只不过,主要的概念和框架都在这了。剩下的相对来说更多是一些具体的技巧、解决某个具体问题的方法等等。对于这些东西,以后也会有文章介绍,敬请关注。

获取最新文章或想加入安卓单元测试交流群,请关注下方公众号

《关于安卓单元测试,你需要知道的一切》

    原文作者:邹小创
    原文地址: https://www.jianshu.com/p/dc30338a3e84
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞