JUnit和Ant,另一个java.lang.ClassNotFoundException

JUnit和Ant,另一个java.lang.ClassNotFoundException,java,junit,ant,classnotfoundexception,Java,Junit,Ant,Classnotfoundexception,蚂蚁新手,我真的不知道我在做什么。我的猜测是我没有正确设置JUnit类路径。我看到有很多类似的问题,虽然没有一个建议对我有效。请帮忙 我的项目目录结构:(我怀疑我的目录结构严重混乱) My build.xml <project name="junit-example"> <property name="main.build.dir" value="build/main"/> <property name="main.src.dir" value="src/m

蚂蚁新手,我真的不知道我在做什么。我的猜测是我没有正确设置JUnit类路径。我看到有很多类似的问题,虽然没有一个建议对我有效。请帮忙

我的项目目录结构:(我怀疑我的目录结构严重混乱)

My build.xml

<project name="junit-example">
  <property name="main.build.dir" value="build/main"/>
  <property name="main.src.dir" value="src/main/java"/>
  <property name="test.build.dir" value="build/test"/>
  <property name="test.src.dir" value="src/test/java"/>

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

  <target name="compile">
    <mkdir dir="${main.build.dir}"/>
    <javac srcdir="${main.src.dir}" destdir="${main.build.dir}" includeantruntime="false"/>
  </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>

  <target name="testAll" depends="test-compile">
    <junit printsummary="on" haltonfailure="yes" fork="no">
        <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>
</project>

您将
batchtest
定义为

<batchtest>
    <fileset dir="${test.src.dir}" includes="**/*Test.java" />
</batchtest>
尝试将
batchtest
更改为

<batchtest>
    <fileset dir="${test.src.dir}" includes="**/*test?.java" />
</batchtest>

您将
batchtest
定义为

<batchtest>
    <fileset dir="${test.src.dir}" includes="**/*Test.java" />
</batchtest>
尝试将
batchtest
更改为

<batchtest>
    <fileset dir="${test.src.dir}" includes="**/*test?.java" />
</batchtest>


谢谢!但是,现在它成功地构建了,但根本没有运行测试,您能理解为什么吗?您如何从
ant
执行测试?谢谢!但是,现在它成功地构建了,但根本没有运行测试,您能理解为什么吗?您如何从
ant
执行测试?