2011-02-26 4 views
0

J'ai écrit quelques scripts de test en utilisant JUnit 4 et Selenium. J'ai ajouté les fichiers jar pour JUnit et Selenium à eclipse et si je cours mes tests avec eclipse IDE tout fonctionne comme prévu.ClassNotFoundException sur un script JUNIT ant

J'essaie maintenant d'exécuter ces tests par le script ant ci-dessous:

<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> 

Le problème est que quand je lance ce script fourmi je reçois l'exception suivante:

[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) 

I J'ai ajouté tous les fichiers jar que je vois dans le fichier eclipse .classpath donc un peu confus des fichiers qui me manquent.

Répondre

5

J'ai trouvé le problème, stupide mais je suppose que c'était un manque de concentration ... Mes fichiers .class se trouvent dans le dossier ./bin et le script ant pointait vers ./classes. Je l'ai copié à partir d'un ancien script ant que j'utilisais et je n'ai pas remarqué les propriétés configurées.

Questions connexes