这周过得特别快,现在就到快下班的时间了,回顾下这周的工作,都不知道干了什么,都是一些细碎的事情,但是要仔细想想都想不起来,还学习了单元测试,对于mockito测试的使用方法,比如mock整个对象和spy某个服务的个别方法,有了亲身实践和理解。通过写单元测试,也发现自己的开发过程中确实存在一定的问题,有些方法写得不够简洁,所以导致测试的过程中还有些困难。以前总觉得单元测试是很简单的,不就是对某个接口做下测试么,给定输入数据,用接口返回的输出与正确的接口做个比较而已啊,虽然测试要达到的目的是这样的,但是测试的方法和条件却是各不相同的,比如我们经常将单元测试和集成测试混淆起来,其实他们是不同的,集成测试通常除了自身的条件,还需要依赖其他模块和服务,如果其他模块和服务因为自身问题或者网络问题导致异常的话,那么我们就没法测试了,但是单元测试我们就要假设第三方服务的ok的,我们要做的是将其模拟一个ok的第三方服务出来,当我们要测试的服务中调用了模拟的服务接口时,只需要返回一个指定的值就可,这样就规避了上面出现的问题,测试的效率也更高。当然,除了这个,我觉得单元测试的一个更大的有点在于不依赖于环境信息和第三方服务,仅仅只靠自身就完成了测试,这样倘若有人修改了本服务的代码出错了,很容易在编译阶段通过运行单元测试就可以发现。
虽然单元测试有这么多的好处,但是由于开发业务模块的任务本来就很重,所以还要腾出时间去写单元测试的话,也是比较耗时间和精力的,要是能把业务模块的开发做好,再提高单元测试的覆盖率,对于开发人员来说确实也是个挑战,特别是对于我们这种开发经验不足的人来说,一些开发模式和方法还需要不断优化和学习,但是不管怎么说,也要静下心来,再难的路也要走下去,这样才会有提高~
网友评论