我使用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文件,所以对我丢失的文件有点困惑。
答案 0 :(得分:5)
发现问题,愚蠢的一个,但我想这是缺乏集中力...... 我的.class文件位于./bin文件夹中,ant脚本指向./classes。 我从我一直使用的旧蚂蚁脚本中复制了它,并没有注意到配置的属性。