2016-12-05 1 views
1

Je veux utiliser 'Jacoco' dans la construction 'Ant' avec 'Junit'. Cependant, j'ai utilisé un code simple pour tester, Jacoco ne couvrait rien. Construire bien courir, exécuter bien, Junit aussi me montrer les résultats, cependant, Jacoco ne peut pas.Ant & JUnit & Jacoco Couverture Erreur

<target name="cov-test" depends ="build"> 
    <jacoco:coverage> 
     <junit showoutput="true" printsummary="on" enabletestlistenerevents="true" fork="true"> 
      <classpath path="classes" /> 
      <classpath path="lib/junit.jar" /> 
      <classpath path="lib/hamcrest-core.jar" /> 

      <formatter type="plain" usefile="false" /> 

      <test name="SimpleTest"> 
      </test> 
     </junit> 
    </jacoco:coverage> 

    <jacoco:coverage> 
     <java classname="SimpleTest" fork="true"> 
      <classpath path="classes" /> 
      <classpath path="lib/junit.jar" /> 
      <classpath path="lib/hamcrest-core.jar" /> 
     </java> 
    </jacoco:coverage> 
</target> 

<target name="cov-report" depends="cov-test"> 
    <jacoco:report> 
     <executiondata> 
      <fileset file="jacoco.exec" /> 
     </executiondata> 

     <structure name="SimpleTest"> 
      <classfiles> 
       <fileset dir="classes" /> 
      </classfiles> 
      <sourcefiles> 
       <fileset dir="src" /> 
      </sourcefiles> 
     </structure> 

     <html destdir="report" /> 
    </jacoco:report> 

</target> 

Ceci est mon build.xml de fourmi, Jacoco me montrent le rapport, cependant, il couvre jamais de fichiers de classe. De même, la classe principale ne s'exécute pas. Mon code de test java simple est

public class Simple 
{ 
public Simple() { 
} 

public int exec(int i) { 
    if (i > 0) 
     return i ; 
    return i * -1 ; 
} 
} 

    public class SimpleTest 
    { 
    @Test 
    public void testSimple1() { 
    Simple s = new Simple() ; 
    assertTrue(s.exec(-1) == 1) ; 
} 

    @Test 
    public void testSimple2() { 
    Simple s = new Simple() ; 
    assertTrue(s.exec(1) == 1) ; 
} 

    public static void main(String [] args) { 
    SimpleTest s = new SimpleTest() ; 

    //s.testSimple1() ; 
    //s.testSimple2() ; 
} 
} 

Nous vous remercions de votre aide!

Répondre

0

Je ne sais pas pourquoi j'ai résolu ce problème. Cependant, le problème était l'emplacement du répertoire. En ce qui concerne l'emplacement du répertoire, il ne devrait pas y avoir d'autre langue. Par exemple, je cours ce xml sur

C: //

Ensuite, il fonctionne bien, Cependant

C: // // 한국어 test

Ensuite, il ne fonctionne pas bien .