2014-07-17 5 views
0
classe Java

je tente d'exécuter une tâche de fourmi JUnit d'une classe java en utilisant ce code java:Appeler une tâche JUnit ANT d'une

File buildFile = new File("build\\build-junit.xml"); 
System.out.println("Running the tests"); 
Project project = new Project(); 
project.setUserProperty("ant.file", buildFile.getAbsolutePath()); 
project.init(); 
ProjectHelper helper = ProjectHelper.getProjectHelper(); 
project.addReference("ant.projectHelper", helper); 
helper.parse(project, buildFile); 
project.executeTarget(project.getDefaultTarget()); 

est ici la source de script Ant qu'il tente d'exécuter: http://jpst.it/j6K3 (Désolé pour la gêne occasionnée, coller dans le code source me donnait des problèmes)

est enfin là Exception levée:

Exception dans le thread "principal" C: \ huds sur \ workspace \ FestTesting \ exchange \ build \ build-junit.xml: 31: Impossible de créer une tâche ou un type de type: junit.

Est-ce que l'un d'entre vous sait ce que je pourrais faire pour résoudre ce problème?

Répondre

0

cette erreur se produit généralement lorsque les .jar requis sont manquants dans classpath. maintenant, dans votre Ant script que vous avez passé une référence à "classpath" via:

<junit ... 
<classpath refid="classpath" /> 
... 
</junit> 

mais les <pathelement> s de "classpath" peut être incomplètes. assurez-vous que vous avez inclus JUnit.jar et ant-junit.jar. quelque chose comme ceci:

<path id="classpath"> 
    ... 
    <pathelement location="...\junit.jar" /> 
    ... 
</path> 

bien, ant-junit.jar est susceptible d'être présent à $ANT_HOME\lib, ne le vérifier. s'il manque, puis effectuez les modifications suivantes:

<path id="classpath"> 
    ... 
    <pathelement location="...\junit.jar" /> 
    <pathelement location="...\ant-junit.jar" /> 
    ... 
</path> 

Go par THIS