8
votes

Double test de test unitaire avec Hudson et Maven

J'ai un projet Maven2 à Hudson et lorsque le plugin rapportant COBERTURA fonctionne, il provoque que les tests d'unité montrent qu'ils sont exécutés deux fois. Cela ne me dérange pas qu'ils courent plusieurs fois, mais le graphique de tendance montre deux fois plus de tests que nous courons en réalité. Existe-t-il un moyen de s'assurer que le graphique ne les montre qu'une fois?

merci,

Jeff


2 commentaires

Il s'avère que ce n'est qu'un problème lors de l'utilisation d'un projet Maven2 et non d'un projet de freestyle


Toujours pas résolu sur Hudson :-( Problèmes.hudson-ci.org/Browse/Hudson- 1557


3 Réponses :


0
votes

J'ai eu le même problème récemment lorsque j'exécuterais des objectifs Maven Test et emma: emma sur le même emploi. Emma semble avoir réexécuté tous les tests doublant ainsi les résultats. Lorsque j'ai supprimé l'objectif test mes tests de l'unité sont toujours exécutés, mais les résultats du test sont retournés à la normale. Pourrait être la même chose avec la coobertura.


1 commentaires

Cela fonctionnerait probablement, mais cela n'entraînera que les tests d'unité instrumentés fonctionnant. La construction devrait vraiment exécuter à la fois les instruments instrumentés et non instructés. J'ai trouvé que passer à un projet de style libre (bien que j'ai perdu certains des avantages du projet Maven2) se comporte beaucoup mieux. Les graphiques de tendance apparaissent correctement et les tests ne sont pas à double compter (même s'ils sont exécutés deux fois).



4
votes

Ceci est un connu bug. Attendez juste que cela soit corrigé.


1 commentaires

1
votes

La solution de contournement que j'utilise (fonctionne dans Hudson 1.391) consiste à configurer Cobertura dans un profil Maven distinct et à l'exécuter dans un travail d'Hudson comme une étape post-construction.

Mode Instructions détaillées:

  1. Ajouter Cobertura à votre projet POM dans un profil spécial (il ne fonctionnera donc pas pendant par défaut de cycle de vie) et configurez-le pour créer un rapport au format XML.
  2. Installez "Hudson M2 supplémentaire Plugin"
  3. Configurez votre emploi Hudson comme projet Maven 2
  4. Dans votre configuration de travail dans la section "Build" Configurez des objectifs de nettoyage / installation habituels
  5. dans la section "Création de l'environnement" Sélectionnez "Configurer les étapes de construction supplémentaires" et ajoutez une étape Maven Post-Build. Configurez-le pour exécuter "COBERTURA: COBERTURA -P YOUR_COBERTURA_PROFILE_NAME"
  6. dans "Actions post-build" Sélectionnez "Rapport de couverture de COBERTURA" et configurez le modèle de rapport XML correct (par défaut doit fonctionner simplement bien)

0 commentaires