此任務用于從JUnit測試框架運行測試。 此任務依賴于默認情況下未包含在Apache Ant分發(fā)中的外部庫。
junit.jar和ant.junit.jar都需要運行此任務,因此將這些JAR放在位置:ANT_HOME/lib 。
<junit>元素在build.xml文件中用于實現(xiàn)此任務。 它還支持嵌套元素<classpath>,它提供了類似路徑的結構。
| 屬性 | 描述 | 必需 |
|---|---|---|
printsummary |
打印測試用例的摘要 | 否 |
fork |
在單獨的JVM中運行測試 | 否 |
forkmode |
控制著要分叉測試用例時創(chuàng)建的JVM數(shù)量 | 否 |
haltonerror |
如果發(fā)生任何錯誤,它將停止構建過程 | 否 |
errorproperty |
此屬性在錯誤事件中設置 | 否 |
haltonfailure |
如果測試失敗,它將停止構建過程。 | 否 |
timeout |
如果在給定時間內沒有完成,它會取消單個測試。 | 否 |
maxmemory |
分配給分叉JVM的最大內存量。 | 否 |
jvm |
用于調用JVM的命令 | 否 |
dir |
調用JVM的目錄 | 否 |
下面來看一些例子,以理解這個測試任務的功能。
<project name="java-ant project" default="run">
<target name="run">
<junit>
<test name="com.yiibai.test.TestCase"/>
</junit>
</target>
</project>
上面的示例運行了一個定義到TestCase中的測試用例。此示例運行單獨的JVM并對其運行測試。 fork屬性將運行一個新的JVM。
<project name="java-ant project" default="run">
<target name="run">
<junit printsummary="yes" fork="yes" haltonfailure="yes">
<formatter type="plain"/>
<test name="com.yiibai.test.TestCase"/>
</junit>
</target>
</project>