2012-12-04 167 views
0

我需要使用ant來測試我在Java中開發的項目。我無法使螞蟻正常工作。我還沒有真正理解如何爲ant準備哪些文件來正確測試項目。Ant和Junit所有測試都失敗

哪種類型的文件需要?來源還是二進制?

我使用這個Ant文件運行測試:

<project name="acmetelecom" default="compile"> 

<property name="src" location="src/acme/com/acmetelecom" /> 
<property name="src" location="src/acme/com/acmetelecom" /> 
<property name="fit" location="fit" /> 
<property name="bin" location="bin" /> 
<property name="lib" location="lib" /> 
<property name="report" location="report" /> 
<property name="junit.report" location="report/junit" /> 
<property name="fit.report" location="report/fit" /> 
<path id="lib.classpath"> 
    <fileset dir="${lib}"> 
     <include name="**/*.jar" /> 
    <include name="*" /> 
    </fileset> 
</path> 
<path id="test.classpath"> 
    <path refid="lib.classpath" /> 
<pathelement location="lib/junit/junit-4.4.jar" /> 
    <pathelement location="lib/junit/junit-4.4-src.jar" /> 
    <pathelement location="${bin}" /> 
</path> 

<target name="compile"> 
    <mkdir dir="${bin}" /> 
    <javac srcdir="${src}" destdir="${bin}"> 
     <classpath refid="lib.classpath" /> 
    </javac> 
</target> 


<target name="junit" depends="compile"> 
    <mkdir dir="${junit.report}" /> 
    <junit printsummary="yes" fork="yes" haltonfailure="no"> 
     <classpath refid="test.classpath" /> 
     <formatter type="plain" /> 
     <batchtest fork="yes" todir="${junit.report}"> 
      <fileset dir="bin/com/acmetelecom"> 
       <include name="**/*Test.class" /> 
      </fileset> 
     </batchtest> 
    </junit> 
</target> 
<target name="fit" depends="compile"> 
    <mkdir dir="${fit.report}" /> 
    <java classname="fitlibrary.runner.FolderRunner" fork="yes" 
      failonerror="yes"> 
     <classpath refid="test.classpath" /> 
     <arg value="${fit}" /> 
     <arg value="${fit.report}" /> 
    </java> 
    <echo>Please see the FIT report page for more details</echo> 
</target> 
<target name="clean"> 
    <delete dir="${bin}" /> 
    <delete dir="${report}" /> 
</target> 
</project> 

我看不到我在做什麼錯了!測試與源代碼位於同一目錄中。

+0

你得到了什麼錯誤? – durron597

+0

我什麼都不做!這是問題..沒有報告..沒有錯誤沒有任何東西 –

+0

嗨@Pes請把一些參數,可以捕獲應用程序的O/P或異常。請查看關於捕獲O/P的詳細信息。 –

回答

1

Ant腳本的根節點是project標記。一個example我建議開始簡單...就像獲得Java源代碼進行編譯,然後添加junit等。

0

您正在將.class文件寫入$ {bin}。嘗試在batchtest的文件集中將其作爲參數。無論如何,沒有必要提供打包的目錄路徑。 * / .class將檢查所有目錄。

<batchtest fork="yes" todir="${junit.report}"> 
     <fileset dir="${bin}"> 
      <include name="**/*Test.class" /> 
     </fileset> 
    </batchtest> 
相關問題