6
votes

Mesurer la couverture de code SCALA dans des tests dans Eclipse

Je suis dans une situation, où j'ai un certain nombre de tests écrits scalatest (Junit compatible), et je veux mesurer à quel point je reçois un bon codecoverage, lors de l'exécution du test.

Je ne veux pas utiliser directement SBT, mais j'ai un projet Eclipse Scala dans lequel j'ai un certain nombre de cas de test que je veux exécuter.

Quel serait le meilleur moyen pour moi d'aller?


2 commentaires

Quel outil de construction utilisez-vous, sinon SBT. Maven? Voulez-vous tester le code SCALA ou avez-vous seulement écrit vos tests à Scala?


J'utilise l'éclipse normale "Scala Builder", etc. Et lorsque j'ai terminé, j'exporte les projets comme plug-in Eclipse. Je souhaite tester le code Scala et les tests sont également écrits à Scala.


3 Réponses :


4
votes

J'utilise EcLemma pour la couverture de code dans Eclipse. Installez-le à l'aide du site de mise à jour.

Notez que cela ne sera pas apparu dans le point de vue Scala, uniquement du point de vue Java, mais c'est correct car vous pouvez toujours exécuter vos tests d'unité basés sur SCALA.

Lorsque vous l'installez, il ajoute un nouveau bouton "Exécuter" à votre barre d'outils. Lorsque vous utilisez ceci, c'est exécuter les tests de l'unité que vous choisissez, génère un rapport de couverture et met en évidence votre code pour montrer ce qui a et n'a pas été couvert.

Je viens de le tester avec un projet Scala avec des tests d'unité Scala, et il semble fonctionner correctement.


1 commentaires

Cela fonctionne, mais vous devez annoter la classe à courir avec un coureur Junit



0
votes

vérifier skcct https://github.com/mtkopone/scct http://mtkopone.github.com/scct/

Malheureusement, ne dispose pas de plugins Eclipse (encore)


1 commentaires

Aucun code ne pousse depuis 2012 (prise en charge de SCANA 2.10.0-RC3), 39 billets ouverts et 3 demandes de traction en attente depuis 2013!



0
votes

J'ai cela fonctionnant dans Scala pour "classes scalatest simples"

Tout ce dont il a besoin est d'ajouter une annotation à votre classe ScalAtest pour le rendre exécuté en tant que JUNIT (voir annotation ci-dessous). Cela utilise Scalatest propress Junitrunner.

@Runwith (classe de [Junitrunner]) La classe MyTest étend des fonctionnalitésPEC avec des adjecteurs de Qui de la tentation avec strictlogging {

Une fois que vous avez fait cela, vous verrez que vous pouvez maintenant exécuter cette classe à Eclipse en tant que "test Scala Junit". Vous pourrez également «couvrir comme -> test Junit».

Si vous avez installé le plug-in EcLemma, vous verrez le panneau de couverture (vous devrez peut-être l'ajouter manuellement à votre point de vue Scala) avec la couverture fournie par votre test et vous obtiendrez également la ligne rouge / vert / jaune. par la couverture de ligne dans vos classes.

La vie est bonne!


2 commentaires

Juste pour divulguer plus de détails, j'utilise le Junit 4.12, Scalatest 2.2.5, Eclipse Mars


Plus d'infos sur Scalatest Junitrunner: SCALATEST.ORG/USER_GUIDE/USURE_JUNIT_RUNNER