谈谈单测

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

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

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

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

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

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

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

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

数据库

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

HTTP

Wiremock 功能强大,依赖少

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

THRIFT

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

其它单测框架

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

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


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

你可能感兴趣的:(谈谈单测)