java提交代码时如何统计代码影响面?

代码上线的时候需要统计本次改动的影响范围,比如说这次改动了一个函数,这个函数会影响A接口和B接口
如何通过代码自动化的来实现这个功能呢?有没有大佬提供一下相关的思路和开源工具呢?

阅读 2.5k
2 个回答

我司的话有个类似的场景,不过并不是看影响范围,而是看 diff 的测试覆盖率。

基本思路就是获取两次 commit 之间的 diff 内容,找到涉及的文件及行数,然后传给 jacoco --diff-code 参数,这样就相当于只针对 diff 部分跑了一遍单测。

但这种做法也不是没有缺点。比如对反射的支持度差;再比如如果只是改了某方法的内部实现、而外部调用方并没有任何改动,那么外部调用的地方其实是没有 diff 的;等等。

更充分的话肯定还是要靠 CI/CD 工作流 + 人工测试去保证。

新手上路,请多包涵
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题