先说结论,要写,但是要看整体同事们的习惯和组里的风气。如果你的同事们都不写单元测试,就你一个人在写自己负责模块的测试,你就没办法保证同事的代码都经过了正确的单元测试流程,而且一旦有人修改了你的代码,却没有修改相应测试的代码,那也会破坏单元测试的正确性。如果你的同事们都写单元测试,就你不写,相信我,他们会教育你的。
写单元测试有几个好处:当你修改了某处逻辑,而这处逻辑又被很多地方调用,单元测试能帮你测试出此处修改不严谨的地方。
当你正确地编写了单元测试(正确的期望输出以及覆盖了函数会发生异常的全部输入case),你会很放心这个函数的正确性。
单元测试可以帮助了解一个小块业务的逻辑。
在协作开发的时候,可以不依赖同事的进度。
我是从一个没有单元测试的公司,跳槽到一个有单元测试的公司,所以感受会比较明显。
上家公司接近10个微服务项目,全部没有单元测试,所有的接口都要开发自己用接口测试工具测试,Postman或者swagger这种。因此每次上线都感觉很慌,总担心哪个接口修改完没有测试,导致有bug。
后来跳槽到现在的公司,发现所有的项目都有单元测试,其中 最大的一个项目有1300+单元测试(虽然也不是很多)CI跑完一遍耗时要半小时,但我一点也不觉得繁琐,相反我已经养成了这种写单元测试的习惯,不管是在公司的项目还是个人项目,有单元测试,我对自己的代码就放心了许多。