12

必知必会 | Android 测试相关的方方面面都在这儿

 3 years ago
source link: https://blog.csdn.net/lmj623565791/article/details/79623159
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

必知必会 | Android 测试相关的方方面面都在这儿

鸿洋_ 2018-03-20 11:29:23 20863

本文在我的微信公众号:hongyangAndroid原创首发。

很多时候,由于迭代周期有限,开发任务多、时间紧,导致很多产品基本没有单元测试,从而也导致很多同学这块都是盲区。

其实我对测试接触也非常少,所以深度方面是很难做到了,大家作为扫盲文对待即可,当然我相信只要能够初步的了解相关文章,大家都有再以此深入学习下去的能力。

此文主要是因为唯鹿之前给我投递了几篇单元测试的文章,我去他博客目录看了下,可以说其实是一个系列的文章,单篇很难进行推送。故以此为起点,给大家做一个一整套的测试相关的文章整理。

文章带引用的部分,为从最近一篇文章中的引用内容。资源可能会已经过期,想注意鉴别。

以后该方面文章都叫必知必会系列了,历史该系列:

这个应该是最常见的,往往不做单元测试,但是压力测试还是会做的。多数都是使用Monkey,不是很复杂,推荐一篇不错的文章:

当然了,万事开头难,然后中艰难,最后结果难。开头很关键,这里还推荐个免费的视频教程:

屏幕快照 2018-03-18 下午3.42.44.png

http://www.imooc.com/learn/729

到这儿应该能搞定压力测试了。

JUnit框架的使用

现在终于到单元测试了,首先推荐一篇:

作者推荐最好从Junit、Mockito开始入门。

对于Junit的好文:

介绍了基础用法、参数化测试、assertThat用法、Rule用法等。

附带几篇:

Mockito框架的使用

再继续学习之前,不妨先看下:

了解下各种依赖问题如何面对。

然后开始Mockito:

作者的话写的很好:在实际的单元测试中,我们测试的类之间会有或多或少的耦合,导致我们无法顺利的进行测试,这时我们就可以使用Mockito,Mockito库能够Mock(我喜欢理解为模拟)对象,替换我们原先依赖的真实对象,这样我们就可以避免外部的影响,只测试本类,得到更准确的结果。

以及Mockito框架中文文档(早期Simple组织翻译):

PowerMock框架的使用

PowerMock ,它拓展了Mockito框架,从而支持了mock static方法、private方法、final方法与类等等。

Robolectric框架的使用

开发工具提供了我们开发和编译的JVM环境,要运行app需要Dalvik或ART环境。而单元测试的是一个运行过程,我们没有相应的环境,所以运行依赖android.jar包的方法时将会抛出RuntimeException(“stub!”)。那么怎么办呢?使用Robolectric可以解决此类问题,它通过实现一套JVM能运行的Android代码,从而做到脱离Android运行环境进行测试。

JaCoCo生成单元测试及覆盖率报告

本文介绍了如何利用JaCoCo生成单元测试及覆盖率报告并在Jenkins显示测试报告结果。

Espresso 谷歌官方提供用于UI交互测试

Espresso最强大的功能就是UI自动化测试,这是其他单元测试框架达不到的,我们可以让Espresso处理它拿手的UI界面测试,而网络请求等业务处理,我们可以交给其他测试框架去处理,比如Mockito(后文再讲)。

RxJava,MVP,Dagger这些库我们用的越来越多,那么如何更加方便的对这些进行测试呢?

感谢所有作者,如果有任何建议或者补充欢迎留言,会后续更新到原文中。


最后推荐哈,我自己的网站:玩Android

也欢迎大家关注我的公众号,每天都可以学到新的Android知识:

SouthEast


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK