анализ покрытия кода в SONAR 2.6 - PullRequest
0 голосов
/ 30 марта 2011

Я использую сонар 2.6 с Maven 3
Я использую плагин corbetura по умолчанию для покрытия кода моего проекта, но он всегда показывает 0% покрытия, хотя я написал тестовые примеры для junit с использованием junit-4.9b2.jar

Это мой файл pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

  <modelVersion>4.0.0</modelVersion>
  <groupId>com.niit.karan</groupId>
  <artifactId>DataBlast</artifactId>
  <name>DataBlast</name>
  <version>1.0</version>

  <build>

<sourceDirectory>src</sourceDirectory> 
<outputDirectory>bin</outputDirectory> 

    <plugins>     
<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.3.2</version>
     <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
        <excludes> 
            <exclude>**/*.*</exclude> 
        </excludes> 
    </configuration> 
</plugin>

    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>cobertura-maven-plugin</artifactId>
        <version>2.3</version>
        <configuration>

        <forkMode>once</forkMode>

          <instrumentation>
            <ignores>
              <ignore>com.example.boringcode.*</ignore>
              </ignores>
            <excludes>
              <exclude>com/example/dullcode/**/*.class</exclude>
              <exclude>com/example/**/*Test.class</exclude>
            </excludes>

          </instrumentation>
        </configuration>

    <executions>
          <execution>
            <goals>
              <goal>clean</goal>
            </goals>
          </execution>
        </executions>
      </plugin>


  <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>sonar-maven-plugin</artifactId>
      <version>2.0-beta-2</version>
          <configuration>
              <timeout>3600000</timeout> 
          </configuration>
       </plugin>
    </plugins>
  </build>
  <properties>
    <sonar.dynamicAnalysis>true</sonar.dynamicAnalysis>
  </properties>
</project>

И это тестовый пример, который я написал только для проверки плагина:

package test;

import junit.framework.TestCase;

public class TestCalc extends TestCase{

    Calc calc = new Calc();
    public void testSum(){
        assertTrue(3 == calc.sum(1, 2));
        assertTrue(4 == calc.sum(2, 2));
    }
}

Кто-то, пожалуйста, помогите, учитывая, что я очень новый пользователь сонара .. Заранее спасибо

Ответы [ 2 ]

2 голосов
/ 05 июля 2011

Плагин maven-compiler-plugin был настроен на пропуск всего исходного кода, включая тесты.Удалите сеанс конфигурации плагина, чтобы Maven работал правильно, компилируя ваш исходный код и тесты.

1 голос
/ 18 апреля 2012

Я встречал ту же проблему раньше. В моем случае это потому, что как свойство плагина Surefire установлено неправильно:

Проект Maven всегда использует плагин Surefire на этапе тестирования жизненного цикла сборки для выполнения модульных тестов. Проверьте ваш pom.xml, если есть тестовая конфигурация Surefire. Установите для «и» значение «false», если они установлены как «true», Sonar не будет компилировать и запускать ваши тесты модульных тестов, тогда всегда есть охват 0%:

<plugin>                    
<groupId>org.apache.maven.plugins</groupId>             
<artifactId>maven-surefire-plugin</artifactId>              
<version>2.9</version>              
<configuration>             
    <includes>              
        <include>**/*Test*.java</include>       
    </includes>         
    <parallel>methods</parallel>            
    <threadCount>10</threadCount>           
    <testFailureIgnore>true</testFailureIgnore> 
    <skipTests>false</skipTests>        
    <skip>false</skip>          
</configuration>                
</plugin>

Надеюсь, это поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...