介绍
Robolectric 测试框架针对 Android 的组件(包含各种View)进行了统一的 Shadow
,使得我们不再依赖模拟器或真机,直接就单元测试就可方便地测试我们的 UI。
引入
1
|
|
Robolectric 测试框架针对 Android 的组件(包含各种View)进行了统一的 Shadow
,使得我们不再依赖模拟器或真机,直接就单元测试就可方便地测试我们的 UI。
1
|
|
本文主要针对测试框架 Mockito
在实践中的经常用到的代码做一示例汇总,并对其实现思想做以简单的分析。
用来为提供函数返回结果的模拟(mock)及对函数调用过程的验证。
关键词 + mock : 针对真实的类或者对象,创建一个模拟(代理)的对象。 + stub : 针对一个类或者对象的方法,进行模拟调用及输出。
在 build.gradle 文件中
1 2 3 |
|
这其中会引入两个jar:junit-4.12.jar 和 hamcrest-core-1.3.jar
提及 HashMap,大家都耳熟能详了,本文不会再讲它的实现原理,只对其中的一些小的实现细节进行罗列。
在上篇文章Rxjava+Retrofit 实现全局过期 Token 自动刷新中,主讲了实现的思想,发布之后,有些小伙伴抱怨没有完整的 Demo,所以在这里重新补上了一个姗姗来迟的简单的实例。Android代码点我
提及Android的消息机制,相信这是Android开发者非常熟悉,并且相当基础的一个知识点了。那这里还有什么需要讲的呢?这里,先抛出一个问题:
我们在使用Handler的时候,都知道其必须要跟一个Looper绑定的。而在UI线程可直接初始化Handler来使用,但是在子线程则不行,系统会抛出一个必须调用Looper.prepare()
的异常信息。缘由在于,当初始化Handler
的时候,其会通过Looper
来获取当前的Looper,代码如下:
遇到了JS的变量声明提升,英文名为Hosting,具体来讲是指JS在对当前作用域中的声明代码,会将其提升至当前作用域的最顶端。本文通过几个示例来详细理解一下:
PS : 这是一篇针对javascript garden做的笔记,更多内容请查看原文链接 : http://bonsaiden.github.io/JavaScript-Garden/zh/
在使用AS的过程中,之前使用的是Eclipse的快捷键的风格,现在切换为Mac系统的AS快捷键风格,一时不适应,下面记录一下Mac风格的快捷键;
PS: 注意Mac上的delete键是执行删除前一个字符(即是backspace的效果),而要达到删除后一个字符(即是delete的效果),则要执行按键 fn + delete。需要注意这里的区别
根据上一篇文章浅析EventBus 3.0实现思想 对EventBus的概括,本文针对其中一些重要且比较有意思的知识点,做一下如下的汇总整理 :
在EventBus中,会根据class信息,来获取SubscriberMethod
,这里会在SubscriberMethodFinder
中进行处理,提供了两种方式来进行获取: