2012-02-02 120 views
2

我正在開發一個項目來開發自定義Ant任務。如何在沒有構建文件的情況下執行Ant

作爲自動接受測試的一部分,我想從JUnit執行Ant(與通常需求相反),並將其傳遞給包含特定構建XML的字符串,以便通過命令行參數或stdin或管道進行測試,或者類似的東西,而不是將其引用到磁盤上的構建文件。

有沒有可行的方法來做到這一點?

+0

不能單純使用XML螞蟻直接進行驗收測試?即您是否真的需要將JUnit圖層添加到它? – Synesso 2012-02-06 05:38:12

+0

使用JUnit運行Ant進行測試對我來說沒有任何問題。臨時文件工作正常。 我的問題源於好奇心,而不是挫折感。 – kbluck 2012-02-06 16:35:50

回答

2

Ant需要一個文件作爲輸入。但是,您可以使用-f參數指定一個臨時文件作爲輸入:

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

$ ant -f tmp1.xml 
從Junit的

顯然,你就更有可能在編寫一個從Java :-)

+0

謝謝。臨時文件的方法是我的默認解決方案,但我想知道是否有某種方法可以在沒有文件的情況下執行。 – kbluck 2012-02-02 05:40:28

+0

現在,我會接受答案是「否」。 – kbluck 2012-02-06 16:40:14

相關問題