測試 TFS/Azure DevOps Services 中部分對應 TFVC 存放庫的影響

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

測試影響分析 (TIA) 是 VSTest 工作的一部分,從工作第 2 版開始。 這項功能可協助您只執行組建的相關測試,以加速 DevOps 週期。 實際上,您最終會執行受傳入變更影響的測試,而不是整個測試套件。 如需測試影響分析的詳細資訊,請參閱使用測試影響分析加速測試(TIA)。

除了在 Azure DevOps 中支援 GitHub 和 Git 之外,TIA 也支援 TFVC。 本文說明以 TFVC 為基礎的組建/發行管線中 TIA 的已知限制,以及解決此限制的解決方法。

部分對應的 TFVC 存放庫問題

TIA 的運作方式是在測試方法第一次執行期間觸及的檔案上收集數據,也稱為基底線執行。 收集此數據的收集器只能看見代理程式計算機上登記的存放庫。 使用以 TFVC 為基礎的管線,您可以取得一個選項來登記部分存放庫。 例如,請考慮具有下列結構的存放庫。

TFVC 存放庫結構

現在,在您的組建/發行管線中,您會看到 [處理] 底下的 [取得來源] 圖格,如下列範例所示。

取得來源

選取 [取得來源 ],您會在右側刀鋒視窗上看到選項,以部分對應您的存放庫。

對應存放庫

如果您登記整個存放庫,如上一個範例所示,TIA 會繼續正常運作,但如果您部分登記,如下列範例所示,TIA 找不到受影響的測試。

部分對應存放庫

當部分登記 TFVC 存放庫時,TIA 找不到受影響的測試,因為收集器只能收集代理程式上部分編列存放庫的變更,而且沒有整個路徑的可見度。 當程式代碼變更從伺服器流入時,它會提供整個路徑,而且與對應路徑的比對嘗試會失敗。

因應措施

若要解決此問題,您可以將部分存放庫對應至伺服器上的完整程式代碼結構,讓本機登記上檔案的完整路徑符合完整伺服器路徑。 若要這樣做,您可以指定 符合伺服器路徑的本機路徑 ,如下列範例所示。

部分對應的存放庫修正

這可確保伺服器路徑符合收集器所收集的路徑,並正確列出受影響的測試。