JUnitTask was not found
I'm trying to run Junit test from my ant build.xml file. I read here that you can use a junit.jar file instead of using the .jar that is located in the ant.home/lib directory. This is what I want to do since our Jenkins autobuild set-up has no junit.jar file in his ant lib directory.
Even with the simpliest project, I'm always getting this error that the JUnitTask was not found. If you look at my build.xml file, it is clearly included and used in the junit task.
build.xml :
<project default="all">
<property name="TALK" value="false" />
<path id="classpath.base">
</path>
<path id="classpath.test">
<fileset dir="." includes="**/*.jar" />
</path>
<target name="compile-test">
<javac srcdir="src" verbose="${TALK}">
<classpath refid="classpath.test" />
</javac>
</target>
<target name="test" depends="compile-test">
<junit>
<classpath refid="classpath.test" />
<formatter type="brief" usefile="false" />
<test name="TestClass" />
</junit>
</target>
<target name="all" depends="test" />
</project>
The small example I made to test things out looks like this :
EDIT : Updated based on answer
The junit-Documentation is a bit sparse.
If you have ant-junit.jar outside ANT_HOME/lib
you need to define the task yourself (the <taskdef/>
is from the FAQ, which is also a bit wrong, because it tells to use class="..."
, which does not exist as an attribute to <taskdef />
):
<path id="classpath.test">
<fileset dir="." includes="*junit.jar" />
</path>
<taskdef name="junit"
classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTask">
<classpath refid="classpath.test"/>
</taskdef>
This can be used to check the path:
<pathconvert property="testoutput" refid="classpath.test"/>
<echo>Path = ${testoutput}</echo>
Documentation:
junit task.
Additional information can be found in this chat transcript
我的解决方案是在Jenkins System Configure中创建一个CLASSPATH变量,并添加ant-junit.jar路径
链接地址: http://www.djcxy.com/p/86088.html上一篇: Ant JUnit结果未被输出
下一篇: 没有找到JUnitTask