2010-01-23 15 views
1

Hé les gars, j'ai une application j2ee que je construis avec Netbeans. Ma tâche consiste à modifier le fichier build.xml afin qu'après la création de l'application, ANT déploie l'application sur un serveur, exécute les tâches Junit sur l'application, puis désinstalle l'application. Jusqu'à présent, j'ai déployé et déployé le travail mais je rencontre des problèmes pour exécuter les tâches de junit.Création d'un script ANT à déployer sur glassfish, exécution de tests junit, puis dé-déploiement

J'ai un projet client dans Netbeans où se trouvent mes tâches de junit. Mon problème est que lorsque ce projet est construit, il ne compile pas mes tests junit dans le .jar. Cela provoque des problèmes lorsque j'exécute mes tâches de fourmi junit et que ANT ne trouve pas les fichiers .class appropriés pour les tests de junit.

Dans les propriétés du projet NetBeans, il me permet de définir "Dossiers de paquet source" et "Dossiers de paquet de test". Si j'ajoute le dossier "test" dans le dossier "Source Package Folders" et construis le projet, il compile les tests et les inclut dans le pot. Cela fonctionne, cependant cela m'empêche d'exécuter mes tests junit comme tests dans netbeans ce qui ralentit le développement.

Est-ce que quelqu'un a déjà eu de l'expérience dans la résolution d'un tel problème? Il y a peut-être une solution simple que je néglige, donc si quelqu'un a un conseil, je l'apprécierais. Merci d'avance.

-Brad

Répondre

0

Si je comprends ce que vous demandez,

Vous ne devriez pas besoin de compiler les classes de test dans le pot. Il suffit de les compiler dans un répertoire, dites 'classes'. Ensuite, incluez simplement ce répertoire dans l'élément imbriqué de l'ensemble de fichiers pour la tâche junit.

Un exemple simple,

<target name="junit"> 
    <junit printsummary="true"> 
    <classpath> 
     <pathelement location="${classes.dir}"/> 
    </classpath> 

    <test name="test.class.TestClass"/> 
    </junit> 
</target> 
+0

J'ai compris ce que je faisais de mal. Je pointais mon classpath pour mes tests de junit dans le répertoire. C'était une erreur de noob. Je pointais dans com/blah/blah2/blah3 qui ne fonctionne clairement pas. – bradd

0

Had pour pointer ma tâche JUnit au classpath correct. Était pointant vers le répertoire exact des fichiers .class (projet1/classes/com/blah/blah2/blah3) qui est incorrect. Définissez classpath à project1/classes et cela a fonctionné. Noob erreur.