Junit ant 任务 - 未找到 JUnitTask [英] Junit ant task - JUnitTask was not found

查看:23
本文介绍了Junit ant 任务 - 未找到 JUnitTask的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试从我的 ant build.xml 文件运行 Junit 测试.我读到 ,这也有点错误,因为它告诉使用 class="...",它不作为 的属性存在):

<文件集目录=."包括=*junit.jar";/></路径><taskdef name="junit";classname=org.apache.tools.ant.taskdefs.optional.junit.JUnitTask"><classpath refid="classpath.test"/></taskdef>

这个可以用来检查路径:

<echo>Path = ${testoutput}</echo>

文档:
junit 任务.


可以在此聊天记录

中找到其他信息

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

这篇关于Junit ant 任务 - 未找到 JUnitTask的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆