2013-03-26 2 views
0

Я пытаюсь создать покрытие кода для моего проекта GWT maven.Как настроить покрытие с помощью GWT, maven, jacoco?

Он работает с моим JUnit тест

mvn test jacoco:report 

Но когда я бегу

mvn gwt:test jacoco:report 

пустой отчет.

Как получить покрытие кода, когда я запускаю тесты gwt:?

pom.xml

GWT:

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>gwt-maven-plugin</artifactId> 
    <version>2.5.1</version> 
<configuration> 
    <module>${gwtModule}</module> 
    <gwtVersion>2.5.1</gwtVersion> 
    <runTarget>https://localhost:8443/dashboard/mainview.jsp</runTarget> 
    <noServer>true</noServer> 
    <sourcesOnPath>true</sourcesOnPath> 
    <hostedWebapp>${war.target}</hostedWebapp> 
    <mode>HtmlUnit</mode> 
</configuration> 
<executions> 
    <execution> 
     <configuration> 
      <extraJvmArgs>-Xmx512m</extraJvmArgs> 
     </configuration> 
     <goals> 
      <goal>compile</goal> 
      <goal>test</goal> 
     </goals> 
    </execution> 
</executions> 

Jacoco:

<plugin> 
<groupId>org.jacoco</groupId> 
<artifactId>jacoco-maven-plugin</artifactId> 
<version>0.6.2.201302030002</version> 
<configuration> 
    <destfile>${basedir}/target/coverage-reports/jacoco-unit.exec</destfile> 
    <datafile>${basedir}/target/coverage-reports/jacoco-unit.exec</datafile> 
</configuration> 
<executions> 
    <execution> 
     <id>jacoco-initialize</id> 
     <goals> 
      <goal>prepare-agent</goal> 
     </goals> 
    </execution> 
    <execution> 
     <id>jacoco-site</id> 
     <phase>package</phase> 
     <goals> 
      <goal>report</goal> 
     </goals> 
    </execution> 
</executions> 

+0

Вы пробовали JBoss's ['jacoco-gwt-maven-plugin'] (http://search.maven.org/#artifactdetails%7Corg.jboss.errai%7Cjacoco-gwt-maven-plugin%7C0.5.4. 201202141554% 7Cmaven-плагин)? –

+0

Я попробовал, но я не смог его запустить. У вас есть пример о том, как его использовать? – kesse

+0

https://github.com/search?q=%22jacoco-gwt-maven-plugin%22&type=Code может быть? –

ответ

2

Введите следующую команду в командной строке '

mvn help:describe -Dplugin=org.jboss.errai:jacoco-gwt-maven-plugin -Ddetail=true 

, и вы получите подробный выход из jacoco-gwt-maven-plugin. В этом списке вы можете увидеть все параметры конфигурации, которые можно установить. Ошибка, которую вы получаете там, где говорит Ошибка при создании отчета: basedir c: \ Users ...... не существует, связана с параметром snapshotDirectory, который вы видите при запуске указанной мной команды. Когда ваш проект компилируется, он создает папку, в которой размещаются все ваши классы времени выполнения. Вам нужно найти, где ваш maven pom помещает этот файл класса, а затем указать этот путь в вашем pom. Так говорят, что путь доступа к файлам класса является «целевой/тест-классы», то ваш ПОМ будет:

<plugin> 
    <groupId>org.jboss.errai</groupId> 
    <artifactId>jacoco-gwt-maven-plugin</artifactId> 
    <version>0.5.4.201202141554</version> 
    <configuration> 
    <snapshotDirectory>${project.build.directory}/test-classes</snapshotDirectory> 
    </configuration> 
</plugin> 

Также одна вещь, чтобы отметить kesse, что ваш первоначальный вопрос должен сделать с jacoco-мавена -plugin из org.jacoco. Я также не смог получить результаты покрытия с помощью этого плагина, работающего с тестовыми примерами GWT. Однако Томас Броер выше, указывает на плагин jacoco-gwt-maven из группы org.jboss.errai. Эта группа Errai является частью сообщества разработчиков JBoss, и этот плагин относится к Errai Framework. Итак, чтобы получить результаты покрытия кода из плагина Errai с использованием тестовых примеров GWT, вы должны использовать Errai Framework. Чтобы узнать больше об Errai Framework, перейдите по ссылке http://errai.github.io/.

+0

Я столкнулся с подобной проблемой, я прочитал этот пост и использовал jacoco-gwt-maven-plugin, теперь все работает нормально, но отчет о покрытии говорит 0%. укажите, если это может случиться. – Jayesh

+0

Существует множество причин, почему это может произойти, можете ли вы включить в себя помню о том, как вы настраиваете плагин jacoco или, возможно, открываете отдельный вопрос о stackoverflow и указываете мне на него? Включите столько информации, сколько вам может понравиться полный pom, который вы используете, и пример тестового примера, который вы запускаете, который должен дать вам некоторое покрытие кода, и я постараюсь вам помочь как можно больше. – Adrian