这是我参与「第五届青训营 」伴学笔记创作活动的第9天
videoService和likeService两个部分互相调用应该不会产生冲突,下面记录一下DeBug之旅:
- 错误描述:在视频服务和点赞服务接口之间函数调用导致视频流接口阻塞,体现在代码层面测试单元阻塞和接口301重定向

- 错误定位:一开始找了很久没找到!以为只要服务之间相互调用就会发生冲突,实则不然。今天在补充用户信息,用户服务和视频服务之间相互调用相安无事,于是乎就把之前视频和点赞调用函数的地方给重新梳理一遍,最终定位在此处:
- 错误分析:于是就疏离这个地方视频和点赞之间的调用关系,如下:
- 点赞服务中

- 视频服务中

- 点赞服务中

最终我怀疑是第三步出了问题,就进行一些列尝试,首先将Dao层函数调用给删掉,发现测试单元运行成功。初步判断会不会是读数据库冲突,重写了Dao函数。

一开始我把if result.RowsAffected == 0的判断给去掉了,以为是改SQL语句的成功!好一阵子才反应过来,错误原来就在返回fasle的情况:没关注也是返回成功的,如果返回err的话,后续代码就阻塞调用这个函数的地方。
- 错误解决:

体会:
- 单元测试一定要写好
- 单元测试一定要写好
- 单元测试一定要写好