单元测试(Android)
活动时间:2017年6月14日
斗鱼直播:http://www.douyu.com/TMQ
活动介绍:TMQ在线沙龙第二十二期分享
本次分享的主题是:单元测试(Android)
直播期间,有299位小伙伴在线观看!
想知道活动分享了啥吗,
请往下看吧!
活动嘉宾
嘉宾简介
刘洋,腾讯应用宝高级测试工程师,目前主要负责应用宝业务的代码分析、精准测试、工具建设等。在安卓客户端、后台类领域测试有比较丰富的经验。
分享主题
1、Android单元测试简介和意义
2、Android单元测试常用框架介绍
3、结合业务开展Android单元测试
问答环节
1、多少人开发多少人写单元测试case? 答:开发和测试比为8:1,单元测试现在暂时是测试人员写,只写重点功能。
2、单间介绍一下单元测试框架主要包括哪些吗? 答:Espresso、Robolectric, Mockito, Powermock、JUnit。
3、空方法不用模拟吧? 答:空方法不需要模拟,刚才说的是返回为void的方法。
4、powermock跟mockito主要是用来mock的吧? 答:是的。
5、怎么mock Android的类呢? 答:按普通类mock,但正常情况下不需要mock,除非出现异常。
6、如果被调用的方法都是用getinstance调用的还能mock? 答:可以。
7、怎么保证单元测试的质量以及可维护性? 答:见《单元测试的艺术》一书中的优秀的单元测试特性。
8、开发有必要学搞测试框架吗? 答:正常情况下,单测的工作是开发做的,我们是推动他们去写,如果有个好的测试框架,很易用,开发当然乐意。
9、如果是fragment如何mock? 答:同activity。
10、这就测sqllite,不真实执行SQL怎么能算测试? 答:这个要看具体情况吧,主要是你要测试的重点是什么,是要真实的执行sql,还是只关注结果。
11、不用robolectric,如何测试SQLite? 答:测试SQLite不是只能robolectric来完成的,其他工具一样可以完成。
12、代码结构是您二次开发的框架还是可以自己创建工程然后设置呢? 答:自己创建工程然后设置,标准的不需要。
13、robolectric测不了Jni,这个你们怎么解决的? 答:这个要看是测so还是测接口了,so已经是其他范畴了,接口可以mock模拟。
14、Jni的单测你们怎么做的? 答:见问题13。
15、sdk25对应的robolectric是哪个版本? 答:3.2.2以上,我记得好像最新是这个版本。