我想在'and'build with'junit'中使用'jacoco'。但是,我使用了简单的代码进行测试,Jacoco没有涵盖任何东西。构建运行良好,执行良好,Junit也向我展示结果,但是,Jacoco不能。
<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>
这是我的build.xml ant,jacoco向我展示报告,但是,它从未涵盖任何类文件。均匀地,主类不会执行。我简单的Java测试代码是
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() ;
}
}
谢谢您的帮助!
我不知道为什么要解决这个问题。但是,问题是目录的位置。在目录位置的方式上,不应有其他语言。例如,我在
上运行此XMLc://
然后运行良好,但是
c://한국어//test
那么它运行不佳。