Hi Team,

I am using apache log4j in my code. Now I am trying to do the code coverage 
using jacoco. 

jacoco working fine without logs in code but it is errored out for loggers 
added in my code. i am getting below exception –


*14:05:38*     [junit] *14:05:38*     [junit] Testcase: 
testValidateQwestCktIdVCID took 0.171 sec*14:05:38*     [junit]         Caused 
an ERROR*14:05:38*     [junit] org/apache/log4j/Category*14:05:38*     [junit] 
java.lang.NoClassDefFoundError: org/apache/log4j/Category*14:05:38*     [junit] 
  at 
com.qwest.eflow.eman.common.nwf.FOAValidationHandler.<clinit>(FOAValidationHandler.java:44)*14:05:38*
     [junit]    at 
com.ant.sonar.jacoco.junit.code.coverage.JacacoCoverageTest.testValidateQwestCktIdVCID(JacacoCoverageTest.java:31)*14:05:38*
     [junit] Caused by: java.lang.ClassNotFoundException: 
org.apache.log4j.Category*14:05:38*     [junit]        at 
java.net.URLClassLoader.findClass(URLClassLoader.java:382)*14:05:38*     
[junit]     at java.lang.ClassLoader.loadClass(ClassLoader.java:419)*14:05:38*  
   [junit]  at 
sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)*14:05:38*     
[junit]  at java.lang.ClassLoader.loadClass(ClassLoader.java:352)*14:05:38*     
[junit] *14:05:38*     [junit] Testcase: testUncoveredMethod took 0.001 
sec*14:05:38*     [junit]        Caused an ERROR*14:05:38*     [junit] 
org/apache/log4j/Category*14:05:38*     [junit] java.lang.NoClassDefFoundError: 
org/apache/log4j/Category*14:05:38*     [junit]   at 
com.ant.sonar.jacoco.junit.code.coverage.JacacoCoverage.<clinit>(JacacoCoverage.java:6)


I tried to exclude the logs by adding below code in my ant script as( 
<jacoco:coverage destfile="${result.exec.file}" 
*excludes="org.apache.log4j.**"> )still it is giving me same error.


<!-- junit-coverage using jacoco -->
<!-- Step 1: Import JaCoCo Ant tasks -->
<taskdef uri="antlib:org.jacoco.ant" resource="org/jacoco/ant/antlib.xml">
<classpath path="${jacocoant.jar.path}"/>
</taskdef>
<target name="test" depends="compile">
<jacoco:coverage destfile="${result.exec.file}" 
*excludes="org.apache.log4j.**">
<junit showoutput="true" printsummary="on" enabletestlistenerevents="true" 
fork="true" haltonfailure="no" forkmode="once">
<classpath path="${result.classes.dir}"/>
<classpath path="${junit.jar.path}"/>
<classpath path="${hamcrest.jar.path}"/>
<classpath location="../../ant-junit-1.9.5.jar"/>
<formatter type="plain" usefile="false"/>
<test name="com.ant.sonar.jacoco.junit.code.coverage.JacacoCoverageTest"/>
</junit>
</jacoco:coverage>
<!-- Step 3: Create coverage report -->
<jacoco:report>
<!--
 This task needs the collected execution data and ... 
-->
<executiondata>
<file file="${result.exec.file}"/>
</executiondata>
<!-- the class files and optional source files ... -->
<structure name="JaCoCo Ant Example">
<classfiles>
<fileset dir="${result.classes.dir}"/>
</classfiles>
<sourcefiles encoding="UTF-8">
<fileset dir="${src.dir}"/>
</sourcefiles>
</structure>
<!-- to produce reports in different formats. -->
<html destdir="${result.report.dir}"/>
<csv destfile="${result.report.dir}/report.csv"/>
<xml destfile="${result.report.dir}/report.xml"/>
</jacoco:report>
</target>


Could anyone please help me out.I am using junit 4.11 jar , 
ant-junit-1.9.5.jar and jacocoant.jar

-- 
You received this message because you are subscribed to the Google Groups 
"JaCoCo and EclEmma Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jacoco+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jacoco/5f8f7c6b-04c4-489e-a11a-6357a293799bo%40googlegroups.com.

Reply via email to