谈谈单测

个人认为, 一名菜鸟进阶到高级软件工程师需要的基本素质之一就是写单测

作为一名菜鸟, 我刚开始也是排斥单测! 但是后面感受到了单测带来的效率迅速提升和安全感, 成为了单测的实践者 。

如果不写单测,测试则需要打包部署;测试案例也无法复用;调试还得看日志(当然可以远程debug),崩溃! 写单测的话 ,直接debug,多爽!

我习惯开发和单测同步进行!,写代码效率迅速提升,代码写完, 意味着单测也写完!如果需要跟别人联调,完全可以硬着腰板子! 

随着时间的积累, 单测案例也在积累!无论是项目重构或者是代码改动(有些代码可是牵一发而动全身),都不会觉得慌张,安全感爆棚, 因为单测可以保证代码质量!

既然单测那么重要,写代码时,就得考虑可测性! 

最简单的一个原则就是,直接面向接口编程, 依赖接口调用,不依赖具体对象!

Java有很多优秀单测框架, 如下:

数据库

MariaDB4j  兼容mysql,支持事务,推荐使用

HTTP

Wiremock 功能强大,依赖少

MockMvc Spring的单测框架,依赖较多

THRIFT

实现THRIFT接口,启动一个本地SERVER,具体代码,后面贴出github

其它单测框架

Mockito 比较优秀的单测框架,支持类和方法的mock,不支持static方法的Mock

PowerMock 功能和Mockito类似, 但是支持static方法的Mock


后续如果发现更优秀的测试框架, 也会持续更新的!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,264评论 25 708
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 12,921评论 2 59
  • 单元测试 单测定义 单元测试(Unit Testing)又称为模块测试, 是针对程序模块(软件设计的最小单位)来进...
    运维开发笔记阅读 2,020评论 0 2
  • 转自:http://blog.csdn.net/kesonyk/article/details/50924489 ...
    晴天哥_王志阅读 24,923评论 2 38
  • 以前的我,对任何人或事都是不屑一顾的态度,表面温柔又随和,骨子里却傲慢又高冷!现在随着接触的人和事越来越多,知识面...
    烂漫春天阅读 521评论 0 1