最近对测试比较敏感,因为涉及了代码重构,虽然我是很有自信的一个人,但是过度严谨的强迫症很多时候让我很尴尬.

所以还是希望面对源代码有一定的测试代码,以方便验证代码重构之后的正确与否.

所以,游戏开始了.经过了2天的琢磨,终于对android单元测试有了初步的了解.个人看代码,还是很不喜欢记忆比如说,具体的方法的用法啊,什么这个设计模式到底叫什么啊...等等等等,所以很多时候还是很尴尬的,因为就是有一大堆人,总是问我这些= =

说说下文中引用的博客的测试精髓吧,单元测试的精髓,经过我长达两天的钻研,在于模拟,众多的可测试框架名称中就含有mock一词,其意图也是很明显,就是单纯使用一个替代的类来解决源代码中类与类之间的耦合关系,比如,模拟接口返回结果,变量等等.

OK,单元测试就说到这里了,很简单有没有,但是这就是事实.

然后就是dagger的问题了,dagger2android目前我并没有详细地看过,但是就当前对于dagger2而言,dagger2是一种很好的解耦方式,相对于AOP的面向方法的依赖注入,dagger2更倾向于面向对象的依赖注入.这样说其实有一些欠妥当的,因为对于java面向对象的思想下,万物皆可为对象,哪怕他是方法.

dagger的表观使用思路就是这样(我还真的是挺少亲自画画呢= =,因为懒)

在使用者的角度来看,一般通过注解的方式实现依赖注入,annotationPrecessor进行编译器的注解处理

我更倾向于dagger是一种注射的过程,注射的过程中也就是使用针筒将药物注射到相应的位置

其中@inject标记的是药物本身,@component标记的是针管,他连接着储存着药物和人体,而@module标记的是病房,收纳的是container患者,患者身上有需要主要注射的患处,这些患处需要@inject药物的填入

而dagger就是将药物注射到患处的注入过程

在具体实现方面,就存在药物生产商,和实际上充当针管的injector的两个角色,在下述的博客中就有着很好的描述,这里就不多加赘述了.

android单元测试

https://github.com/simplezhli/AndroidUT

dagger基础以及dagger_android

https://blog.csdn.net/mq2553299/article/details/77485800

https://blog.csdn.net/mq2553299/article/details/73136396

单元测试以及dagger的使用相关推荐

  1. android java pipe_Java-使用Dagger 2进行Android单元测试

    我有一个使用Dagger 2进行依赖注入的Android应用. 我还在使用最新的gradle构建工具,该工具允许对单元测试和工具测试使用一个构建变体. 我在我的应用程序中使用Component,并且我 ...

  2. Android mock for循环,Android单元测试(五):依赖注入,将mock方便的用起来

    在上一篇文章中,咱们讲了要将mock出来的dependency真正使用起来,须要在测试环境下经过某种方式set 到用到它的那个对象里面进去,替换掉真实的实现.咱们前面举的例子是:html public ...

  3. 每个开发者都应该懂一点单元测试

    一.什么是单元测试? 为了测试某个类中的某一个方法能否正常工作,而写的测试代码. 单元的定义:代码中可度量的最小单元(函数/方法): 是否正常工作:不同的输入对应的输出是否与预期一致. 二.单元测试有 ...

  4. [Android]使用Dagger 2依赖注入 - DI介绍(翻译)

    以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/5092083.html 使用Dagger 2依赖注入 - DI介 ...

  5. Android单元测试(五):依赖注入,将mock方便的用起来

    在上一篇文章中,我们讲了要将mock出来的dependency真正使用起来,需要在测试环境下通过某种方式set 到用到它的那个对象里面进去,替换掉真实的实现.我们前面举的例子是: public cla ...

  6. dagger2 注入_Android依赖注入– Dagger 2

    dagger2 注入 In this tutorial, we'll discuss and implement Dependency Injection (DI) in our android ap ...

  7. 架构探险-轻量级微服务架构_第3部分-单活动架构+一些时髦的Dagger

    架构探险-轻量级微服务架构 This series takes a basic MVP app using Retrofit and RxJava to display a list of Githu ...

  8. Android单元测试(七):MVP与单元测试

    本篇介绍如何对MVP架构的项目进行单元测试.会用到之前六篇文章中所介绍的内容,算是学以致用了.本文中我没具体说明的地方前几篇文中一定会有的.希望大家可以循序渐进. 对于MVP网上也有很多变种,各有千秋 ...

  9. 蘑菇街支付金融Android单元测试实践

    蘑菇街支付金融Android单元测试实践 2016-04-26  邹勇  移动开发前线 本文为『移动前线』群在4月23日的分享总结整理而成,转载请注明来自『移动开发前线』公众号. 嘉宾介绍 邹勇(网名 ...

最新文章

  1. 并发模拟的四种方式 + 工具,超级实用!
  2. UA OPTI512R 傅立叶光学导论17 离散傅立叶变换简介
  3. java断言——Assertion
  4. 【C++深度剖析教程38】类模板深度剖析
  5. 全局最小割Stoer-Wagner算法
  6. 【鱼眼镜头5】[中央全向相机畸变模型]:统一相机模型,四阶多项式对统一相机模型进行建模
  7. 【图像压缩】基于matlab行程编码(RLE)图像压缩【含Matlab源码 404期】
  8. 【微信小程序】性能分析Trace工具
  9. 国外优秀JAVA技术网站推荐
  10. 前端请求报错Provisional headers are shown接口请求失败
  11. linuxi下的做图工具——gnuplot安装
  12. 视频教程-太空大战游戏实战课程-其他
  13. springmvc视图解析器详解
  14. Go学习之编码实现区块链 - 【blockchain】
  15. Windows子系统WSL
  16. 柯洁夺斗地主全国冠军!斗地主可以排解输棋痛苦”
  17. JSP文件的运行过程
  18. java根据内容生成二维码
  19. STM32下的LED灯闪烁
  20. python生成word目录_Python 文件与目录操作方法总结

热门文章

  1. c# 对象json互相转换_C#匿名对象(转JSON)互转、动态添加属性
  2. 删除单链上数据域值最小的节点_深入浅出数据结构
  3. Selenium之定位浏览器弹窗方法汇总
  4. sqlserver往oracle写数据,Sqlserver连接oracle进行读写数据库
  5. android 9.0 https 适配,android9.0适配HTTPS:not permitted by network security policy'
  6. 馀承东鸿蒙发布会,余承东确认出席发布会!荣耀智慧屏-首发搭载鸿蒙系统
  7. java class扫描接口_JAVA 扫描指定路径下所有的jar包,并保存所有实现固定接口的类型...
  8. java override格式_Lambda表达式告别@override
  9. 【408预推免复习】计算机组成原理之指令系统
  10. 【Web安全】利用burp抓包和CSRF伪造进入admin真实后台