2012-02-02 5 views
2

Je travaille sur un projet pour développer une tâche Ant personnalisée. Dans le cadre de tests d'acceptation automatisés, je voudrais exécuter Ant à partir de JUnit (le contraire du désir habituel) et lui passer une chaîne contenant certains XML de construction à tester via une ligne de commande param ou stdin ou pipe ou quelque chose comme ça, plutôt que de le renvoyer à un fichier de construction sur disque.Comment exécuter Ant sans buildfile

Existe-t-il un moyen pratique de le faire?

+0

ne pourriez-vous utiliser simplement ant directement pour exécuter des tests d'acceptation? Par exemple, avez-vous vraiment besoin d'ajouter la couche JUnit? – Synesso

+0

L'utilisation de JUnit pour exécuter Ant pour les tests ne présente pas de problème pour moi. Tempfiles fonctionne bien. Ma question provient de la curiosité, pas de la frustration. – kbluck

Répondre

2

Ant attend un fichier en entrée. Vous pouvez cependant utiliser le -f paramètre pour spécifier un fichier temporaire en entrée:

$ cat <<EOF > tmp1.xml 
<project name="demo" default="hello"> 
<target name="hello"> 
<echo>hello world</echo> 
</target> 
</project> 
EOF 

$ ant -f tmp1.xml 

Il est évident que JUnit vous êtes l'écrire plus probable que le XML de Java :-)

+0

Merci. L'approche tempfile est ma solution par défaut, mais je me demandais s'il y avait un moyen de le faire sans un fichier. – kbluck

+0

Pour l'instant, je vais accepter que la réponse est "Non". – kbluck

Questions connexes