2010-06-10 28 views
2

raison de base pour mettre la question de comparaison entre ces 2 est que je suis capable de générer les rapports dans le répertoire du site (pour cobertura) après avoir mis les informations de branchement suivantes dans la section de construction de mon pom. Mais la même chose ne se produirait pas avec emma. J'ai vérifié la documentation dans Moha codehause c'est presque pareil pour les deux. Ma configuration est:emma ne génère pas de rapports mais cobertura fait?

<plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>emma-maven-plugin</artifactId> 
      <version>1.0-alpha-2</version> 
      <executions> 
       <execution> 
        <phase>process-classes</phase> 
        <goals> 
         <goal>emma</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 

mais il DonT générer des rapports comme prévu dans le répertoire du site, mais je peux voir coverage.em générés et les classes instrumentées chaque fois. Ai-je manqué une configuration?

+0

est inclus dans droit? – JoseK

+0

non, c'est dans . – ravinikam

Répondre

0

c'est vraiment étrange: l'entrée est corrigée plug-in: voir le répertoire de sortie

<plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>emma-maven-plugin</artifactId> 
      <version>1.0-alpha-2</version> 
      <inherited>true</inherited> 
      <executions> 
       <execution> 
        <id>emma</id> 
        <phase>process-classes</phase> 
        <goals> 
         <goal>emma</goal> 
        </goals> 
       </execution> 
      </executions> 
      <configuration> 
       <outputDirectory>${project.build.directory}</outputDirectory> 
      </configuration> 
     </plugin> 

emma accepter ne même pas $ {} project.build.directory/emma. Conclusion: emma n'a pas généré de rapports lorsque vous ajoutez un sous-répertoire à $ {project.build.directory}, par exemple. $ {project.build.directory}/emma-reports.

+0

$ {basedir} est déconseillé, utilisez $ {projet.basedir} et $ {basedir}/target était toujours mauvais, utilisez $ {project.build.directory} (et $ {project.build.outputDirectory} pour target/classes) –

+0

merci seanizer – ravinikam

+0

Salut j'ai aussi obtenu le même problème pouvez-vous me donner une suggestion. [INFO] <<< emma-maven-plugin: 1.0-alpha-3: emma (défaut-cli) <[emma] test @ point- repo <<< [INFO] [INFOS] --- emma-maven-plugin: 1.0-alpha-3: emma (défaut-cli) @ point-repo --- traitement des fichiers d'entrée ... 1 fichier (s) lire et fusionner en 2 ms rien à faire: aucune donnée de couverture d'exécution trouvée dans l'un des fichiers de données Il ne génère aucun fichier de rapport. – Sajithv

1

Je ne peux pas reproduire votre problème. Je copié et collé l'extrait de configuration dans un pom.xml aléatoire et en cours d'exécution toute postérieure de phase process-classes déclenche emma:emma et le rapport de couverture est générée comme prévu:

 
$ mvn clean process-classes 
[INFO] Scanning for projects... 
[INFO] ------------------------------------------------------------------------ 
[INFO] Building Test Project 
[INFO] task-segment: [clean, process-classes] 
[INFO] ------------------------------------------------------------------------ 
[INFO] [clean:clean {execution: default-clean}] 
[INFO] Deleting directory /home/pascal/tmp/test-project/target 
[INFO] [resources:resources {execution: default-resources}] 
[INFO] Using 'UTF-8' encoding to copy filtered resources. 
[INFO] Copying 1 resource 
[INFO] [compiler:compile {execution: default-compile}] 
[INFO] Compiling 1 source file to /home/pascal/tmp/test-project/target/classes 
[INFO] Preparing emma:emma 

... 

EMMA: runtime coverage data merged into [/home/pascal/tmp/test-project/coverage.ec] {in 93 ms} 
[INFO] [emma:emma {execution: default}] 
processing input files ... 
2 file(s) read and merged in 3 ms 
writing [xml] report to [/home/pascal/tmp/test-project/target/site/emma/coverage.xml] ... 
writing [html] report to [/home/pascal/tmp/test-project/target/site/emma/index.html] ... 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESSFUL 
[INFO] ------------------------------------------------------------------------ 

Avez-vous des tests unitaires dans votre projet? Le fichier coverage.em est-il non vide? Que se passe-t-il si vous exécutez emma:emma sur la ligne de commande? L'exécution de mvn avec l'option -X vous donne-t-elle des indices? Pouvez-vous poster des traces qui seraient utiles?

En note, je n'exécuterais pas personnellement emma:emma dans le cadre de la construction régulière. Je voudrais exécuter l'objectif emma:emma à partir de la ligne de commande ou configurer le plug-in et la section de rapport comme suggéré dans la page Usage. Mais c'est une autre histoire et ne répond pas à la question.

+0

hey Pascal merci beaucoup pour votre intérêt. oui j'ai des tests unitaires et coverage.em n'est pas vide. Voir ci-dessous ce qui me manquait. – ravinikam

+0

mais toujours en regardant votre trace son comportement étrange. Les choses que j'ai remarquées sont, l'un est le répertoire de sortie mais vous dites que vous venez de copier collé mon code et un autre est que je cours l'installation propre. Ne pas quoi que ce soit. – ravinikam

+0

@RN Oui, j'ai utilisé l'extrait "tel quel". Je viens de tester avec 'mvn clean install' et j'obtiens le même résultat. Est-ce que votre pom hérite d'un autre (le mien n'en a pas). –