2015-09-07 1 views
1

J'intègre SonarQube dans notre système de construction - J'ai installé sonar-runner-2.4 sur nos agents de construction et ajouté le sonar-runner.properties pour chaque solution (dans le dossier de la solution sur TFS). Lors de l'exécution de la construction, j'exécute le sonar-runner une fois la solution compilée sur l'agent de construction. Tout semble fonctionner, sauf pour l'unité test:Le serveur SonarQube affiche zéro tests unitaires

Sur Je vois le journal de la construction que près de 200 tests ont couru et ont été achevées avec succès et dans le journal-coureur sonar je vois ce qui suit:

14:23:29.808 INFO - 583/583 source files analyzed 
14:23:30.809 INFO - Sensor [email protected] done: 14937 ms 
14:23:30.809 INFO - Sensor org.sonar.plugins.csharp.core.[email protected]97edbc... 
14:23:30.821 INFO - Sensor org.sonar.plugins.csharp.core.[email protected]97edbc done: 12 ms 

qui semble ok je suppose, mais lors de la connexion au serveur sonar, il montre que 0 tests ont couru.

Sur le fichier sonar-runner.properties I définissez la valeur suivante à

sonar.cs.vstest.reportsPaths: 
sonar.cs.vstest.reportsPaths=TestResults/*.trx 

quand dans ce cas il y a 3 vstest fichiers TRX situés dans le chemin d'accès local suivant sur l'agent de construction: `

D:\sTFS\22965\Sources\TestResults

`(voir TestResults.jpg joint). Le fichier sonar-runner.properties est joint. J'ai également joint une capture d'écran du serveur sonarqube (voir SonarServer.jpg ci-joint).

Pouvez-vous s'il vous plaît conseiller ce qui pourrait être le problème? TestResults

SonarServer

sonar-runner.properties

Répondre

0

Vous devriez voir des messages comme:

INFO - Parsing the Visual Studio Test Results file ...

pour chaque fichier résultat de test unitaire qui est en cours d'analyse, voir VisualStudioTestResultsFileParser.java#L34

Pouvez-vous essayer de transmettre un modèle de chemin absolu à sonar.cs.vstest.reportsPaths? Ma conjecture est que le problème vient du chemin relatif. Par ailleurs, l'utilisation du sonar-runner pour analyser des projets .NET est en train d'être abandonnée. Vous voudrez jeter un coup d'œil au Runner MSBuild SonarQube qui offre une très bonne intégration avec Team Foundation Server. Voir la nouvelle documentation de plug-in C# sur le wiki SonarSource: http://docs.sonarqube.org/display/PLUG/C%23+Plugin

EDIT

Je viens de remarquer le nom du package de vos journaux org.sonar.plugins.csharp.core.CSharpUnitTestResultsProvider. Le .core. n'était présent que dans des versions obsolètes du plugin C# (dans la série 3.x), et ces versions ne pouvaient pas prendre en charge les caractères génériques dans les chemins de rapport. Veuillez mettre à jour vers la dernière version.

+0

Je ne peux pas voir un message comme celui que vous avez écrit. J'ai essayé de donner un chemin absolu et toujours pas de changement. J'ai remarqué que je reçois l'avertissement suivant: "WARN - L'autodétection du fournisseur SCM a échoué Aucun fournisseur SCM ne prétend supporter ce projet Veuillez utiliser sonar.scm.provider pour définir SCM de votre projet". est-ce que cela a quelque chose à voir avec les tests unitaires? –

+0

Non, cela ne correspond pas du tout aux résultats des tests unitaires.Pourriez-vous essayer un scénario simple, suivez les étapes décrites sur http://docs.sonarqube.org/display/PLUG/C%23+Unit+Test+Execution+Results+Import? –

+0

Il semble que vous utilisiez le plugin C# 3.x qui est obsolète - J'ai édité ma réponse –