Partage via


Impact de test pour les référentiels TFVC partiellement mappés dans TFS/Azure DevOps Services

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

L’analyse d’impact de test fait partie de la tâche VSTest à partir de la version 2 de la tâche. Cette fonctionnalité permet d’accélérer le cycle DevOps en vous aidant à exécuter uniquement des tests pertinents pour une build. En effet, vous terminez l’exécution de tests qui sont affectés par les modifications entrantes et non par la suite de tests entière. Pour plus d’informations sur l’analyse d’impact de test, consultez Accélérer le test à l’aide de l’analyse d’impact de test (TIA).

Outre la prise en charge de GitHub et Git dans Azure DevOps, TIA prend également en charge TFVC. Cet article décrit une limitation connue concernant TIA dans les pipelines de build/mise en production basés sur TFVC et un travail sur l’obtention de cette limitation.

Problème avec les référentiels TFVC partiellement mappés

TIA fonctionne en collectant des données sur les fichiers qu’une méthode de test touche au cours de sa première exécution, également appelée exécution de ligne de base. Le collecteur qui collecte ces données a une visibilité uniquement du référentiel inscrit sur l’ordinateur agent. Avec les pipelines basés sur TFVC, vous avez la possibilité d’inscrire des référentiels partiels. Par exemple, considérez un référentiel qui a la structure suivante.

Structure du référentiel TFVC

À présent, dans votre pipeline de build/mise en production, vous voyez Obtenir les sources sous Processus, comme illustré dans l’exemple suivant.

Obtenir les sources

Sélectionnez Obtenir les sources et vous verrez des options dans le panneau droit pour mapper partiellement votre référentiel.

Référentiel de mappages

Si vous inscrivez l’intégralité du référentiel, comme indiqué dans l’exemple précédent, TIA continue de fonctionner correctement, mais si vous l’inscrivez partiellement, comme indiqué dans l’exemple suivant, TIA ne trouve pas les tests impactés.

Référentiel partiellement mappé

Lorsqu’un référentiel TFVC est partiellement inscrit, TIA ne trouve pas les tests impactés, car le collecteur est en mesure de collecter les modifications uniquement pour le référentiel partiellement inscrit sur l’agent et n’a pas de visibilité sur l’ensemble du chemin. Lorsqu’un changement de code circule à partir du serveur, il fournit le chemin d’accès entier et la tentative correspondante avec le chemin mappé échoue.

Solution de contournement

Pour contourner ce problème, vous pouvez mapper votre référentiel partiel à la structure de code complète sur le serveur afin que le chemin complet des fichiers de votre inscription locale corresponde au chemin d’accès complet du serveur. Pour ce faire, vous pouvez spécifier un chemin local qui correspond au chemin d’accès du serveur, comme illustré dans l’exemple suivant.

Correctif de référentiel partiellement mappé

Cela garantit que le chemin d’accès du serveur correspond au chemin collecté par le collecteur et que les tests impactés sont correctement répertoriés.