Junit ant 任务 - 未找到 JUnitTask

2023-12-28

我正在尝试从我的 ant build.xml 文件运行 Junit 测试。我读here http://ant.apache.org/manual/Tasks/junit.html您可以使用 junit.jar 文件,而不是使用位于 ant.home/lib 目录中的 .jar。这就是我想要做的,因为我们的 Jenkins 自动构建设置在他的 ant lib 目录中没有 junit.jar 文件。

即使是最简单的项目,我也总是收到找不到 JUnitTask 的错误。如果您查看我的 build.xml 文件,它显然包含在 junit 任务中并使用。

构建.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>

我为测试而制作的小例子如下所示:

编辑:根据答案更新


junit 文档有点稀疏。
如果你外面有ant-junit.jarANT_HOME/lib您需要自己定义任务(<taskdef/>是来自FAQ https://ant.apache.org/faq.html#delegating-classloader-1.6,这也有点错误,因为它告诉使用class="...",它不作为属性存在<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>

这可用于检查路径:

<pathconvert  property="testoutput" refid="classpath.test"/>
<echo>Path = ${testoutput}</echo>

文档:
联合任务 http://ant.apache.org/manual/Tasks/junit.html.


其他信息可以在以下位置找到:这段聊天记录 https://chat.stackoverflow.com/rooms/9090/discussion-between-david-and-oers

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Junit ant 任务 - 未找到 JUnitTask 的相关文章

  • 如何在 Eclipse .classpath 文件中使用环境变量?

    在 Windows 中 我有一个环境变量 EXTERNAL LIB ROOT 指向 C Program Files MyExternalLibRoot 在另一台计算机上 它可能指向 C ExternalLibs 在 ant build xm
  • Espresso 和 Proguard 的 Java.lang.NoClassDefFoundError

    我对 Espresso 不太有经验 但我终于成功地运行了它 我有一个应用程序需要通过 Proguard 缩小才能处于 56K 方法之下 该应用程序以 3 秒的动画开始 因此我需要等到该动画结束才能继续 这就是我尝试用该方法做的事情waitF
  • 如何在 JUnit 中缩短(或隐藏)包名称?

    我在 JUnit 中有很长的包名称 这使得很难看到正在运行哪些测试 不幸的是 使用 Eclipse 的 缩写包名称 不起作用 有没有办法隐藏或者最好缩短它们 None
  • ant basedir 和 eclipse .project 文件生成

    我有一个 ant 目标 它回显 eclipse project 文件的内容 这里的想法是确保 该项目可以轻松导入到 eclipse 中 项目名称应与所在目录匹配 它结帐 到目前为止我有这个
  • 在ant javac中设置Java的目标版本

    我需要使用ant 1 7 0 编译一个jar文件以在特定版本的Java 1 5 下运行 我的机器上目前有 Java 1 6 我尝试过设置
  • Eclipse 优化导入以包含静态成员和方法

    长期使用 eclipse 和 Java 我在 Eclipse 中发现的一个问题是 似乎没有一种简单的方法来导入静态成员和方法 即 jUnitfail 方法来自org junit Assert 我每天创建几个类 然后手动添加 import s
  • 检查文件集中的所有文件都包含 ant 中的字符串

    任何人都可以提供一个 ant 构建的示例 该示例检查文件集找到的所有文件是否包含某些标记且不包含其他标记 谷歌对此并没有多大用处 所以我在这里 我认为这可以使用 ant 来完成resourcecontains条件 但我不确定它接受多个资源
  • 运行包含库 jar 的 jar 时出现 Java NoClassDefFoundError

    几个小时后 即使在阅读了大量文档和问题之后 我还是束手无策 我确信我错过了一些明显的东西 但我就是无法弄清楚 我创建了许多 java 文件 包括带有 main 方法的单个入口点 该类还使用一个 库 类 该类位于 jar 文件 mylib j
  • junit中如何测试一个方法是否被覆盖?

    我有这个问题 是否有一个测试注释或断言可以判断一个方法是否已在 junit 中被重写 我目前正在实现一个测试用例 它应该告诉类是否Foo的方法toString 已覆盖其超类 谢谢 你可能可以这样做 class getMethod toStr
  • 使用 jar 依赖项构建 Android 库项目

    我已经被一个问题困扰了几天 但我不知道如何解决这个问题 我正在处理一个 Android 库项目 该项目正在使用 android sdk 提供的 Android 工具进行编译 在项目内部 我遵循 Android 项目的标准结构 我的 jar
  • 使用 Junit5 对 LiveDataobserverForever 进行单元测试会导致 NullPointer 异常

    我正在使用 Android 数据绑定来监听实时数据更改 并且我想观察视图模型级别的更改 而不是观察片段 然后向视图模型发送回调 这observerForever很有趣 因为它对我有用 但是 当我运行测试时 出现以下错误 java lang
  • Ant EXEC 无法运行 bash 脚本

    我正在尝试使用 ant 来运行 bash 脚本 我发现行政指令是完成这项工作的工具 我创建了一个 bash 脚本 test sh 在我的蚂蚁目标中我添加了
  • Jetty 提供静态内容所需的最少文件集?

    背景 免责声明 I have veryJava 经验很少 我们之前在 Ant 构建期间使用了 Jetty 6 的包装版本来处理按需静态内容 JS CSS 图像 HTML 因此我们可以使用 PhantomJS 针对 HTTP 托管环境运行单元
  • 为什么调用fail()会使用JUnit在Java类中进行编译

    这似乎不应该编译和运行Object没有fail 方法 在编译时发生了一些奇怪的事情吗 我正在使用 NetBeans import static org junit Assert import org junit Test public cl
  • 如何让JUnit打印断言结果

    如何将 JUnit 断言的结果打印到 到标准输出 我有一些这样的测试 Test public void test01 Position p getPositionAt a 1 assertNotNull a1 exists p assert
  • Maven 或 Ivy 用于管理 Ant 的依赖关系?

    我想知道管理 ant 项目依赖关系的最佳方法 Maven Ant 任务和 Ivy 的优缺点是什么 由于您想要做的是将依赖项管理添加到现有的 Ant 项目中 这正是 Ivy 的设计目的 依赖管理是 Maven 的重要组成部分 但远非全部 Ma
  • 在多线程环境下使用JUnit的奇怪问题

    在多线程环境中使用 JUnit 时 我遇到一个奇怪的问题 下面的代码应该会失败 但在eclipse中却确实通过了 public class ExampleTest extends TestCase private ExecutorServi
  • 更改 Clover 仪表类的位置

    我正在使用 Clover 2 5 并且我有一个可以打包二进制文件的目标 然而 目前看来 Clover 检测类是在与我希望打包在 jar 中的未检测类相同的输出目录中生成的 我该如何创建一个 jar 以便不包含检测的类 有没有办法改变检测类的
  • 如何使用命令行参数执行jar [重复]

    这个问题在这里已经有答案了 可能的重复 将 Java 解释器所需的参数传递给 JAR https stackoverflow com questions 5536476 passing arguments to jar which is r
  • 是否有用于运行测试组的 JUnit TestRunner?

    我目前正在使用 JUnit 4 并且需要将我的测试分为可以以任意组合有选择地运行的组 我知道 TestNG 具有注释测试以将它们分配到组的功能 但我现在无法迁移到 TestNG 看来这可以通过一些自定义注释和自定义 JUnit TestRu

随机推荐

  • 水平菜单在宽屏显示器上显示不正确

    我为网站实现的水平菜单有一个小问题 该菜单仅包含三个项目 但在相当大的宽屏显示器上查看时 最后一个项目似乎折叠到一个新行 我实际上无法自己测试这一点 因为我的客户使用宽屏显示器 虽然我无法重现他们向我发送的此屏幕截图的错误 客户端在 Win
  • 如何在Python中将日期时间对象移动12小时

    由于某种原因 日期时间对象让我很头疼 我写信是为了弄清楚如何将日期时间对象移动 12 小时 我还需要知道如何确定两个日期时间对象是否相差 1 分钟或更长时间 The datetime http docs python org library
  • 将 Chrome 设置为 RSpec/Capybara 的默认浏览器

    我在让 Chrome 在 Ubuntu 13 10 64 位上与 RSpec Capybara 配合使用时遇到一些问题 默认情况下它启动 Firefox 我们尝试通过多种方式改变这一点 包括 http actsasblog ca 2011
  • 曾几何时,> 比 < 更快……等等,什么?

    我在读很棒的 OpenGL 教程 https paroj github io gltut Positioning Tut05 20Overlap 20and 20Depth 20Buffering html 这真的很棒 相信我 我当前的主题
  • Android 中通过 SIP 进行视频通话

    我是 Android 初学者 正在开发一个可以使用 SIP 通过 IP 进行视频通话的应用程序 我在 Google 和 StackOverflow 上搜索了很多 得到的只是我需要一些 Native Library 而我对它没有太多了解 我关
  • 如何在 C# 中仅反序列化 XML 文档的一部分

    这是我试图解决的问题的一个虚构示例 如果我使用 C 工作 并且有这样的 XML
  • .NET:检查 URL 的响应状态代码?

    在 NET 中检查 Web 服务器回复 GET 请求的状态代码的最简单方法是什么 请注意 我不需要响应的正文 事实上 如果可能的话 只应该请求标头 然而 话虽如此 如果请求省略响应正文会显着增加代码的复杂性 那么接收正文就可以了 另外 我对
  • 多核机器上单精度数组与双精度数组的矩阵乘法的性能下降

    UPDATE 不幸的是 由于我的疏忽 我有一个旧版本的 MKL 11 1 与 numpy 链接 新版本的 MKL 11 3 1 在 C 中和从 python 调用时提供相同的性能 令人困惑的是 即使将编译后的共享库与较新的 MKL 显式链接
  • 缩短 Javascript if-else 结构

    我的代码是 var level function d if value d gt median stdev return 1 else if value d gt median return 2 else if value d gt med
  • 在 django 中将 2 小时和 1 天添加到时间戳上

    我有一个保存游戏数据的模型 我如何在 开始 字段中添加 2 小时和 1 天 class Game models Model starts models DateTimeField auto now add True ends models
  • 如何使用 UICollectionView 复制 iOS Chrome 选项卡效果 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在创建一个应用程序 其中视图之一
  • Scala 中存在“无法解析符号”错误的通用方法

    我需要获得一个通用的检查方法 可以按如下方式使用 check Int 10 1 5 and check Double 10 0 1 0 5 0 我尝试了这段代码 trait RangeChecker def check T lt AnyVa
  • 如何翻译外部 javascript 文件中的文本? (姜戈)

    我有一个 JavaScript 文件 它根据用户交互将元素附加到正文 现在 在我的 index html 模板中 我使用翻译后的文本声明全局变量 block main endblock 因此 在 Django 翻译索引模板中的文本后 我的
  • #include C/C++ 中的头文件

    在阅读了几个有关编译 特别是 C 问题的问题并注意到在许多情况下问题是缺少标头 include 后 我不禁对自己的无知感到疑惑 并问自己 现在也问你 为什么缺少的标头不会自动检查并添加或请求给程序员 例如 此类功能可用于 Netbeans
  • 如何将文字放在图像的中间

    你好 使用 CSS 我试图将一些文本放在图像的中心 所以它看起来像这样 div P I This is some text C div 我怎样才能达到这个结果 不知道这是否有帮助 图像是 32x32 像素 img vertical alig
  • Doctrine2 中 JOIN ON 和 JOIN WITH 有什么区别?

    Doctrine2 中 JOIN ON 和 JOIN WITH 有什么区别 我在手册中找不到任何相关信息 ON替换原来的连接条件 WITH为其添加一个条件 Example Album OneToMany gt Track Case One
  • 子图日期时间 X 轴刻度未按预期工作

    我正在尝试绘制许多图 以下是数据组织方式的示例 我的目的是使用谷歌分析数据构建一系列几小时或几天 比如一周 7 天 或一天 24 小时 的子图 我的索引是日期时间对象 这是当轴正确完成时单个图的外观示例 from datetime impo
  • 了解 Traceview

    我想了解跟踪视图是如何工作的 我尝试使用traceview 分析一种方法 但有一个疑问 我已附上 trace 的快照 它表示大部分时间由蓝色标记的 顶级 占用 但没有更多信息 这个方法何时执行或者执行什么功能 谁能向我解释一下为什么它花费这
  • 在scala中调用akka actor的方法

    我有一个演员定义如下 class nodeActor ID String extends Actor 其中包含一个方法 用于在启动之前设置 actor def addRef actor ActorRef 我这样实例化这个演员 val nod
  • Junit ant 任务 - 未找到 JUnitTask

    我正在尝试从我的 ant build xml 文件运行 Junit 测试 我读here http ant apache org manual Tasks junit html您可以使用 junit jar 文件 而不是使用位于 ant ho