当我在 Go 中运行测试时,有什么方法可以直接或间接获取代码导入的文件列表?例如,这可以帮助我在调试失败的测试时排除来自代码库某些部分的更改。
或者,使用 Git,我们能否找出在给定测试中执行的文件的最低共同祖先 git 树节点是什么?
上下文:我正在为我的测试套件研究自动片状检测,并且我希望能够了解每个测试的依赖关系树,以便更好地检测片状测试。
例如,如果代码TestX
版本失败x
,并且稍后在同一代码库中的一些根本不使用的文件TestX
被更改,然后TestX
通过,我希望能够检测到这是一个不稳定的测试,即使运行测试套件的整体代码库已经改变。