web-dev-qa-db-fra.com

TFS 2013 - Pas de résultats de couverture de code

J'ai une configuration d'environnement TFS 2013 et j'essaie d'obtenir que TFSBuild collecte les résultats de couverture de code après une génération.
Les tests fonctionnent bien, mais peu importe ce que j'essaie, je reçois un message disant "Aucun résultat de couverture de code". 

J'ai lu des articles sur un "service d'analyse de couverture de code", mais ce n'est pas installé du tout sur mes serveurs et je n'arrive pas à le trouver nulle part. 

J'ai suivi le processus de génération pour m'assurer que l'option "Tests automatisés -> Source de test -> Paramètres d'exécution -> Type de paramètres d'exécution" est définie sur CodeCoverageEnabled, mais je peux toujours Vous ne pouvez pas obtenir les résultats publiés dans la base de données Analysis Services afin que je puisse exécuter le Code Coverage Reports

J'ai essayé un fichier de paramètres d'exécution, mais sans succès, je l'ai donc retiré de l'équation.

Toute aide serait grandement appréciée!

33
tcmg.digiorgio

Je viens de comprendre le problème, c'est que ma couverture de code n'a pas été calculée sur le serveur de génération. J'ai compris cela avec l'aide de Microsoft et c'est un petit bug de l'interface utilisateur. 

Étapes pour reproduire: Créez une nouvelle définition de construction. 

  1. Accédez à l'onglet Processus de la définition de génération et sélectionnez le fichier de solution à générer.
  2. Développez maintenant la section "Tests automatisés" et développez la "Source de test".
  3. Développez les "Paramètres d'exécution" et changez le "Type de paramètres d'exécution" de "Par défaut" à "CodeCoverageEnabled".
  4. Enregistrez la définition de la construction et lancez votre construction.
  5. Examinez les résultats de la construction et notez qu'aucune couverture de code n'est calculée.

Pour résoudre ce problème, utilisez l’autre interface utilisateur de la définition de construction. 

  1. Sélectionnez le nœud "Tests automatisés".
  2. Maintenant dans cette rangée à droite, vous verrez un bouton avec "...". Cliquez dessus et une boîte de dialogue sera ouverte.
  3. Appuyez sur "Modifier" pour modifier votre source de test. Vous verrez que la couverture de code est activée. Sinon sélectionnez-le.
  4. Appuyez à nouveau sur Ok et Ok pour fermer les deux boîtes de dialogue.
  5. Enregistrez maintenant la définition de construction et réexécutez votre construction.

Maintenant, la couverture de code est calculée !!! Le helpdesk de Microsoft a soumis un bogue à l’équipe de développement et il sera corrigé, je suppose, dans la prochaine version. Petit bug mais cela m'a coûté plus de deux jours pour le trouver!

57
Ralph Jansen

Avez-vous un studio visuel Premium ou Ultimate installé sur votre machine de construction? L'un ou l'autre est nécessaire pour que les résultats de la couverture de code soient renvoyés à TFS.

4
Just TFS

Les solutions de contournement ci-dessus n'ont pas fonctionné de moi (VS2015 update5 et TFS2013 Update 3). 

Dans mon cas, Visual Studio n'était pas installé sur le serveur de génération, ce qui semble être une condition requise pour que les résultats de la couverture de code soient renvoyés. 

De MSDN

Microsoft Visual Studio doit être installé sur le serveur de génération pour les scénarios suivants:

  • Pour générer un projet de test CPP, vous devez installer Visual Studio Professional ou une version ultérieure.
  • Pour exécuter des tests unitaires ou des tests d'interface utilisateur codés, vous devez installer Visual Studio Professional ou une version ultérieure.
  • Pour utiliser des adaptateurs de données et de données de diagnostic:

     - Code coverage: Visual Studio Premium or later.   
     - Test impact: Visual    Studio Ultimate.  
     - IntelliTrace: Visual Studio Ultimate.
    
  • Pour créer des applications de style moderne sur un ordinateur de génération: Visual Studio Ultimate ou Visual Studio Express pour Windows 8 (le système d'exploitation sur le serveur de génération doit être Windows 8).

  • Pour compiler et exécuter des tests pour un projet avec un faux assemblage: Visual Studio Ultimate.
0
DomBat

Je pense que "l'autre fenêtre" fait référence à un clic droit sur le fichier "Local.testsettings" de la solution (ou d'autres fichiers [] .testsettings), en sélectionnant "Ouvrir" et en parcourant les différentes configurations. Lorsque vous définissez le bouton radio "Emplacement de test" sur "Exécuter des tests à l'aide d'un ordinateur local ou d'un contrôleur de test", un paramètre est défini sous "Données et diagnostics" pour "Couverture de code (Visual Studio 2010)".

0
Christopher Wright

J'utilise un serveur de génération local avec Visual Studio en ligne avec un fichier .runsettings et j'ai eu exactement le même problème.

Aucune des ruses ci-dessus n’a été utile. J’ai donc testé le script de construction sur le contrôleur de génération hébergé et tout a bien fonctionné; j’ai donc décidé que le problème devait être le serveur de génération lui-même.

Je modifié le compte de service de génération de "service réseau" en un {compte d'utilisateur Windows classique} dans l'outil de configuration TFS. La couverture de code est maintenant collectée. Notez que cet utilisateur devra avoir accès aux répertoires de construction TFS.

0
j0ffe