我正在使用ant来构建我的java程序。它编译得很好,但是当我去运行单元测试类时,它找不到类文件。我和我的课程路径混乱了,这个例外不断出现?
lib中的jar如下:
Buildfile 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 \ SelfDescribing.class
我是从控制台获得的
test:
我做错了什么?
答案 0 :(得分:1)
您需要将junit.jar
和hamcrest-all-X.X.jar添加到类路径中。
具体来说,你的lib文件夹需要hamcrest-core-1.3.jar
(对于jUnit 4.11)。
请按照以下步骤操作:
Build Path
然后从其菜单中选择Add Libraries
。JUnit
,然后点击下一步。JUnit4
,然后选择完成。和强>
如果 UPDATE1 不起作用,
您可以下载JUnit 4.7
并将junit-4.7.jar
放入构建路径(而不是旧版本)。这可以解决您的问题