单元测试中经常碰到的问题:
- Android依赖
- 内部new对象如何处理?
- 本地方法怎么隔离?
- RxJava异步如何处理?
前提:引入Mockito、PowerMock等第三方测试框架,对测试对象进行模拟操作。
一、代码中用到了TextUtil.isEmpty()的如何测试?
|
|
当测试这个方法时,就会报错,
|
|
这种情况,直接在本地测试目录(app/src/test/java)下添加TextUtils类的实现,但必须保证包名相同。
|
|
二、native方法隔离
|
|
进行测试
|
|
三、内部new对象如何处理?
|
|
改变写法。
|
|
进行测试
|
|
四、Rxjava异步如何处理?
异步的话单元测试就无法测试了。那么就必须同步情况下才可以测试,开发RxJava的大神早就料到了,于是乎可以他通过立即执行就可以了
|
|
工具类
|
|
小结
归根结底最主要的就是进行依赖隔离。单元测试,验证的是逻辑是否正确,忽略数据的变化。