gpt4 book ai didi

java - Ant Junit 测试陷入困境 - 需要总结

转载 作者:行者123 更新时间:2023-12-01 09:47:51 24 4
gpt4 key购买 nike

我正在使用 ant 来构建我的 java 程序。它编译得很好,但是当我去运行单元测试类时,它找不到类文件。我已经把我的类路径弄乱了很多,而且这个异常不断出现?

lib中的jar如下:

  • ant.jar
  • hamcrest.jar
  • hamcrest-core-1.3.jar
  • hamcrest-all-1.3.jar
  • hamcrest-core.jar
  • junit.jar

构建文件build.xml:

<project name="PillarWorkspaceHiring" default="test" basedir=".">
<description>
Author: April Randolph for a evening of babysitting. Uses Ant to build the junit, hamcrest java program.
Babysitting Kata
</description>

<!-- Set global properties for this build -->
<property name="test.src.dir" value="src/main/java"/>
<property name="test.build.dir" value="build/test"/>
<property name="main.build.dir" value="build/main"/>
<property name="main.src.dir" value="src/main/java"/>
<property name="full-compile" value="true"/>

<target name="clean" description="clean up">
<!-- Delete the ${dir.build} -->
<delete verbose="${full-compile}" >
<fileset dir="${main.build.dir}" includes="**/*.class" />
<fileset dir="${test.build.dir}" includes="**/*.class" />
</delete>
</target >

<path id="classpath.test">
<pathelement location="lib/junit-4.12.jar"/>
<pathelement location="lib/hamcrest-core-1.3.jar"/>
<pathelement location="lib/ant.jar"/>
<pathelement location="${main.build.dir}"/>
</path>

<!-- Testsuite-->
<target name="test" depends="test-compile" >
<junit printsummary="on" haltonfailure="yes" fork="true">
<classpath>
<path refid="classpath.test"/>
<pathelement location="${test.build.dir}"/>
</classpath>
<formatter type="brief" usefile="false" />
<batchtest>
<fileset dir="${test.src.dir}" includes="**/*Test*.java" />
</batchtest>
</junit>
</target>

<!-- Build main class files -->
<target name="compile" >
<mkdir dir="${main.build.dir}"/>
<javac srcdir="${main.src.dir}" destdir="${main.build.dir}" includeantruntime="false">
<classpath refid="classpath.test"/>
</javac>
</target>

<target name="test-compile" depends="compile">
<mkdir dir="${test.build.dir}"/>
<javac srcdir="${test.src.dir}" destdir="${test.build.dir}" includeantruntime="false">
<classpath refid="classpath.test"/>
</javac>
</target>

</project>

膨胀:hamcrest\SelfDescription.class

我从控制台得到这个

test:

我做错了什么?

最佳答案

您需要添加junit.jarhamcrest-all-X.X.jar到你的类路径。

具体来说,您的 lib 文件夹中需要 hamcrest-core-1.3.jar(适用于 jUnit 4.11)。

更新1:

请按照以下步骤操作:

  1. 右键单击该项目。
  2. 选择构建路径,然后从其菜单中选择添加库
  3. 选择 JUnit,然后单击“下一步”。
  4. 选择 JUnit4,然后完成。

还有

  1. 转到“偏好设置”| java | JUnit
  2. 点击“添加包”并添加“org.hamcrest.*”

更新2:

如果UPDATE1不起作用,

您可以下载 JUnit 4.7 并将 junit-4.7.jar 放入您的构建路径(而不是旧版本)。这可以解决您的问题

关于java - Ant Junit 测试陷入困境 - 需要总结,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37840298/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com