2013-02-01 89 views
2

我在java中有一個android應用程序。我想用ant用xml腳本來測試它。現在我們有幾個包和一個標準的目錄結構,用於我們的源文件和測試文件。 有一個「測試」文件夾(所有測試代碼的根目錄)有一個文件說A.java和一些子文件夾,它們又包含一些測試文件或子子文件夾。只有文件A.java被測試,其他人未被測試。如果我將xml腳本中的目錄路徑從「tests」更改爲「tests/ui」,然後測試文件夾「ui」中的文件無法測試,並且出現一些錯誤 - 找不到類時發現錯誤「測試結果」文件夾,我存儲測試的輸出。使用Ant進行測試 - 無法測試子目錄中的文件

我已將編譯代碼的父目錄和所需的外部jar包含在ID =「test.classpath」路徑中。我想我應該每一個類型的.class文件,而不是路徑到父文件夾。

的代碼是:

<target name="test-run" description="Run Test"> 
    <delete dir = "test_result" /> 
    <mkdir dir = "test_result" /> 
    <junit printsummary="yes" haltonfailure="yes" showoutput="yes" > 
     <classpath refid="test.classpath"/> 
     <batchtest fork="yes" todir="test_result"> 
      <formatter type="xml"/> 
      <fileset dir="tests" includes="**/*" /> 
     </batchtest> 
    </junit> 
</target> 

能否請你解釋我如何實現我的動機假設一個普通的文件結構。

編輯:

以下列出了在上面的XML中使用的路徑,其中夾了包含由想法IDE生成源和測試文件.class文件:

<path id="test.classpath"> 
    <pathelement path="testlibs/jmockit.jar"/> 
    <pathelement path="testlibs/jmockit-coverage.jar"/> 
    <pathelement path="testlibs/jmockit-coverage-htmlfull.jar"/> 
    <pathelement path="/opt/idea-IU-117.418/lib/junit-4.10.jar"/> 
    <pathelement path="out"/> 
    </path> 
+0

你可以發佈test.classpath嗎? – Tom

+0

我已經編輯了包含它的任務。 – singhsumit

+0

好吧,我的第一個測試失敗了,我有haltonfailure =「是」..我的壞..謝謝你幫助 – singhsumit

回答

0

嘗試fileset元件改變該:

<fileset dir="tests" includes="**/*.java" /> 
+0

謝謝,但那是我第一次嘗試..然後,因爲測試文件夾中的所有文件都是.java,我刪除它。 – singhsumit

+0

另外,我的問題還有第二部分,談論類沒有發現問題..任何想法呢? – singhsumit

+0

您的意思是有$ {test.classpath}嗎? – Tom