改功能目前仅适用java 语言。日常提交代码后,如何验证代码质量,最简单的方式就是调起变更方法的单元测试。该程序可在提交代码后自动识别变更范围,分析出影响的单元测试并调起改单元测试。该功能以及开发完成
1、设置管道,管道调起该程序分析代码并调起单元测试。
2、设置分支策略,当分支发生变更触发该管道。
3、代码变更内容获取逻辑。管道中获取环境变量,拿到变更分支(PULLREQUEST_SOURCEBRANCH)与目标分支(PULLREQUEST_TARGETBRANCH),根据git 接口获取变更内容,解析变更内容可获取变更的文件及变更行数。
4、代码分析逻辑。读取管道中下载的程序文件,解析程序文件获取代码的类详情(方法的起终行数等)、调用关系等信息并将该信息存储在数据库或者数据文件。改调用关系配合前端可生成视图用于查询程序的调用逻辑。
5,差异对比生成影响范围逻辑。根据git信息(修改的文件及行数)可分析出具体变更了代码中的哪些方法,再根据解析的调用关系可获取改方法都影响了哪些方法,同时也得出影响了哪些测试方法。
6、将该测试方法写入环境变量。
7、使用管道中的maven调起这些测试方法。