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!
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.
Pour résoudre ce problème, utilisez l’autre interface utilisateur de la définition de 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!
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.
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 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).
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)".
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.