作者回复: 是的,“流量录制回放”也可以。但是我建议还是要不足ut。因为ut的测试更轻量,场景更丰富,能发现更多问题,也能更快解决。 本质上“流量录制回放”和ut的作用时不一样的。虽然流量回放游泳,但是我建议ut得加。
作者回复: 我建议的是还是两层: 1. ut:也就是针对dao层的单元测试 2. 集成测试,也就是rpc接口测试,通过对rpc的接口的类似crud的测试,保证接口的逻辑符合预期。因为协议不动,所以输入输出是固定的,这块测试起来应该比较快,AI可以快速搞定。 要覆盖repo的话,我觉得就是接口粒度的测试。 “如果用spock test,单纯mock repo可能覆盖不到改动的测试” 这句话我没太理解哈。理论上不是可以覆盖的嘛?
作者回复: “测试通过了,实际运行却没有通过(假绿)的问题”,这算是一个bug了。AI 执行出错。 我自己的行为一般是:先判断哪些主链路的功能要测试。单测我一般全部交给AI。但是写出来的单测我都会看,看逻辑是否对。不看的话错了也不知道。有一种思路是,定义好输入和输出,让AI根据输入和输出来校验。也可以让AI来来生成输入和输出。然后让它写代码。 也就是分两步,让AI分析要做哪些测试,输入输出是什么。你只要review这部分就可以。然后让AI去写测试,然后你做一个简单的review。