Ant Junit测试推出 - 需要摘要

时间:2016-06-15 15:54:09

标签: java xml junit ant

我正在使用ant来构建我的java程序。它编译得很好,但是当我去运行单元测试类时,它找不到类文件。我和我的课程路径混乱了,这个例外不断出现?

lib中的jar如下:

  • 的ant.jar
  • hamcrest.jar
  • hamcrest核-1.3.jar
  • hamcrest-ALL-1.3.jar
  • hamcrest-core.jar添加
  • 的junit.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:

我做错了什么?

1 个答案:

答案 0 :(得分:1)

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

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

UPDATE1:

请按照以下步骤操作:

  1. 右键单击该项目。
  2. 选择Build Path然后从其菜单中选择Add Libraries
  3. 选择JUnit,然后点击下一步。
  4. 选择JUnit4,然后选择完成。
    1. 转到首选项| Java | JUnit的
    2. 点击&#34;添加包&#34;并添加&#34; org.hamcrest。*&#34;
    3. UPDATE2:

      如果 UPDATE1 不起作用,

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