A TFS/Azure DevOps Services részben megfeleltetett TFVC-adattárainak tesztelése
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
A Tesztelési hatáselemzés (TIA) része a VSTest-feladatnak a tevékenység 2. verziójától kezdve. Ez a funkció felgyorsítja a DevOps-ciklust, és segít abban, hogy csak a megfelelő teszteket futtassa egy buildhez. Gyakorlatilag olyan teszteket futtat, amelyeket a bejövő módosítások érintenek, nem pedig a teljes tesztcsomagot. A tesztelési hatáselemzésről további információt a Tesztelési hatáselemzés (TIA) használatával végzett tesztelés felgyorsításával kapcsolatos cikkben talál.
A GitHub és a Git Azure DevOpsban való támogatása mellett a TIA a TFVC-t is támogatja. Ez a cikk a TIA ismert korlátozásait ismerteti a TFVC-n alapuló buildelési/kiadási folyamatokban, valamint a korlátozás túllépése érdekében végzett munkát.
Részben megfeleltetett TFVC-adattárakkal kapcsolatos probléma
A TIA működése úgy működik, hogy adatokat gyűjt azon fájlokról, amelyeket egy tesztmetódus az első futtatása során érint, más néven alapvonal-futtatás. Az adatokat összegyűjtő gyűjtő csak az ügynökgépen lévő, besorozott adattárat tekinti meg. A TFVC-alapú folyamatok lehetővé teszi a részleges adattárak használatát. Vegyük például az alábbi struktúrával rendelkező adattárat.
A buildelési/kiadási folyamatban most a Források lekérése csempe jelenik meg a Folyamat alatt, ahogy az alábbi példában is látható.
Válassza a Források lekérése lehetőséget, és a jobb oldali panelen látható beállítások részben megfeleltetik az adattárat.
Ha a teljes adattárat bevonja az előző példában látható módon, a TIA továbbra is megfelelően működik, de ha részben jelentkezik be, az alábbi példában látható módon a TIA nem találja az érintett teszteket.
Ha egy TFVC-adattár részben szerepel a listán, a TIA nem találja az érintett teszteket, mert a gyűjtő csak a részben bevont adattár módosításait tudja összegyűjteni az ügynökön, és nem látható a teljes elérési út. Amikor egy kód megváltozik a kiszolgálóról, az a teljes elérési utat biztosítja, és a megfeleltetett elérési úttal való egyeztetés meghiúsul.
Áthidaló megoldás
A probléma megoldásához leképezheti a részleges tárházat a teljes kódstruktúrára a kiszolgálón, így a helyi beléptetésben lévő fájlok teljes elérési útja megegyezik a teljes kiszolgálói elérési útdal. Ehhez megadhatja a kiszolgáló elérési útjának megfelelő helyi elérési utat az alábbi példában látható módon.
Ez biztosítja, hogy a kiszolgáló elérési útja megegyezik a gyűjtő által gyűjtött elérési úttal, és az érintett tesztek megfelelően legyenek felsorolva.