2011-08-24 89 views
0

假設您有一個test目錄,其中包含每個包含jUnit測試的包。通過ANT運行jUnit測試,需要澄清

在此設置中,使用ANT,您將如何「運行所有測試?」

假設我的JUnit有

<target name="test" depends="compileTest"> 
    <junit fork="yes" printsummary="yes" haltonfailure="no"> 

     <classpath location="${bin}" /> 

     <formatter type="plain" /> 
     <test name="_com.??.project.alltests.MyTests" /> 

    </junit> 
</target> 

其中,MyTests有

@RunWith(Suite.class) 
@Suite.SuiteClasses({ _ThisTest.class, _ThatTest.class }) 
public class OCTTests { 

} 

_ThisTest本身含有一些測試..

是否有可能在ant腳本的目的,以避免這種只需簡單地說:「運行您在此目錄中找到的所有測試」

回答

1

查看junit任務的nested batchtest元素。 您可以在junit task文檔頁面上找到以下示例:

<junit printsummary="yes" haltonfailure="yes"> 
    <classpath> 
    <pathelement location="${build.tests}"/> 
    <pathelement path="${java.class.path}"/> 
    </classpath> 

    <formatter type="plain"/> 

    <test name="my.test.TestCase" haltonfailure="no" outfile="result"> 
    <formatter type="xml"/> 
    </test> 

    <batchtest fork="yes" todir="${reports.tests}"> 
    <fileset dir="${src.tests}"> 
     <include name="**/*Test*.java"/> 
     <exclude name="**/AllTests.java"/> 
    </fileset> 
    </batchtest> 
</junit>