通过ASM字节码框架注入日志输出字节码到工程代码里(非侵入式),当运行测试脚本时,进入每个方法前都会通过日志输出字节码将日志记录到特定的目录,形成方法调用关系,若脚本运行失败,则记录失败脚本,并将其链接发送给相关人员。
图3 SVNKit分析日志,对比代码变化
相关人员收到失败脚本的消息,点击失败脚本的链接,基于SVNKit客户端库,根据日志文件中的方法调用关系,对比类方法的当前版本与最近一次运行成功版本的代码,若有变化,则记录并返回变化点给相关人员;否则提示可能原因(如数据、配置)给相关人员。