JUNIT ant脚本上的ClassNotFoundException

时间:2011-02-26 20:47:45

标签: ant junit selenium

我使用JUnit 4和Selenium编写了很少的测试脚本。 我已将JUnit和Selenium的jar文件添加到eclipse中,如果我通过eclipse IDE运行我的测试,一切都按预期工作。

我现在正尝试通过下面的ant脚本运行这些测试:

<project name="JUnit" default="test">

    <property name="src" value="./src" />
    <property name="classes" value="./classes" />
    <property name="test.class.name" value="AllTests" />

    <path id="test.classpath">
      <pathelement location="${classes}" />
      <pathelement location="C:/Program Files/eclipse 3.5/plugins/org.junit4_4.5.0.v20090824/junit.jar" />
      <pathelement location="C:/selenium/selenium-server-standalone-2.0b2.jar" />
      <pathelement location="C:/Program Files/eclipse 3.5/plugins/org.hamcrest.core_1.1.0.v20090501071000.jar" />
    </path>

    <target name="test">
      <junit fork="yes" haltonfailure="yes">
        <test name="${test.class.name}" />
        <formatter type="plain" usefile="false" />
        <classpath refid="test.classpath" />
      </junit>
    </target>

</project>

问题是当我运行这个ant脚本时,我得到以下异常:

[junit] java.lang.ClassNotFoundException: AllTests
[junit]     at java.net.URLClassLoader$1.run(Unknown Source)
[junit]     at java.security.AccessController.doPrivileged(Native Method)
[junit]     at java.net.URLClassLoader.findClass(Unknown Source)
[junit]     at java.lang.ClassLoader.loadClass(Unknown Source)
[junit]     at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
[junit]     at java.lang.ClassLoader.loadClass(Unknown Source)
[junit]     at java.lang.Class.forName0(Native Method)
[junit]     at java.lang.Class.forName(Unknown Source)

我已经添加了我在eclipse .classpath文件中看到的所有jar文件,所以对我丢失的文件有点困惑。

1 个答案:

答案 0 :(得分:5)

发现问题,愚蠢的一个,但我想这是缺乏集中力...... 我的.class文件位于./bin文件夹中,ant脚本指向./classes。 我从我一直使用的旧蚂蚁脚本中复制了它,并没有注意到配置的属性。