背景:在做个定时任务,将某张表的数据跑到另一张表。
本地单元测试执行无误后,一不小心就把单元测试也给提交上去,然后由于测试环境是采用maven部署的方式,就执行了mvn clean install
进行打包,然后突然发现,数据库里的数据多了许多重复的数据。
一开始还以为是代码的问题,于是我排查了一下,发现了重复跑的话的确会出现重复数据,但问题在于,我就只跑了一次单元测试,除非其它同事跑了单元测试。但最后问完发现没有人动过。于是我就将我整个流程都思考了一下,唯一可能的就是打包的过程中出现了问题。
我想到maven的打包过程中有个test步骤,于是怀疑是否是由于这个偷偷执行了我的单元测试,经过测试,果不其然,的确在执行mvn clean install
命令的时候将单元测试跑了一下!!!
百度了一波,有兴趣的可以看看这个:maven install时自动施行单元测试
结论:千万不要随便提交单元测试,或者一定要事先预估单元测试是否会影响流程,免得和本人一样给自己整出bug来。