TFS/Azure DevOps Services中部分映射的 TFVC 存储库的测试影响
Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018
测试影响分析 (TIA) 是 VSTest 任务的一部分,从任务版本 2 开始。 此功能有助于加快DevOps周期,帮助你仅针对生成运行相关测试。 实际上,最终会运行受传入更改影响的测试,而不是整个测试套件。 有关测试影响分析的详细信息,请参阅 使用测试影响分析 (TIA) 加快测试 速度。
除了在 Azure DevOps 中支持 GitHub 和 Git 外,TIA 还支持 TFVC。 本文介绍基于 TFVC 的生成/发布管道中的 TIA 的已知限制,以及解决此限制的解决方法。
部分映射的 TFVC 存储库的问题
TIA 的工作方式是收集有关测试方法在其首次运行期间接触的文件的数据,也称为基线运行。 收集此数据的收集器仅对代理计算机上的登记存储库具有可见性。 使用基于 TFVC 的管道,可以选择登记部分存储库。 例如,请考虑具有以下结构的存储库。

现在,在生成/发布管道中,可以看到“进程”下的“获取源”磁贴,如以下示例所示。

选择 “获取源 ”,你将在右侧边栏选项卡上看到用于部分映射存储库的选项。

如果登记整个存储库,如前面的示例所示,TIA 将继续正常工作,但如果部分登记,如以下示例所示,TIA 无法找到受影响的测试。

当部分登记 TFVC 存储库时,TIA 无法找到受影响的测试,因为收集器只能为代理上部分登记的存储库收集更改,并且无法查看整个路径。 当代码更改从服务器传入时,它将提供整个路径,并且与映射路径的匹配尝试失败。
解决方法
若要解决此问题,可以将部分存储库映射到服务器上的完整代码结构,以便本地登记中文件的完整路径与完整服务器路径匹配。 为此,可以指定与服务器路径匹配的 本地路径 ,如以下示例所示。

这可确保服务器路径与收集器收集的路径匹配,并正确列出受影响的测试。