2 回答

TA貢獻1772條經驗 獲得超8個贊
您可以運行按包名或類名過濾的所有測試或特定測試。這是<batchtest>取自JUnit 任務手冊的示例:
<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>
您可以根據需要調整<include name=""/>/<exclude name=""/>元素或添加更多包含/排除元素。<target/>然后,您可以為不同的測試創建不同的 ant <target name="all-tests"/>,例如<target name="package-foo-tests"/>等。

TA貢獻1993條經驗 獲得超6個贊
我還不能添加評論,這就是我發布這個答案的原因。
我認為您需要的是一個測試套件類。
如下所示。
package com.emeter.test.predeploy.sdm.common;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;
import com.emeter.test.predeploy.sdm.svc.TestOutdatedComponentRpt;
import com.emeter.test.predeploy.sdm.svc.TestSubstationSvc;
import com.emeter.test.predeploy.sdm.svc.TestSvmComponentSvc;
import com.emeter.test.predeploy.sdm.svc.TestSvmNotificationSvc;
@RunWith(Suite.class)
@SuiteClasses({
TestSubstationSvc.class,
TestSvmComponentSvc.class,
TestSvmNotificationSvc.class,
TestOutdatedComponentRpt.class
}
)
public class TestSuite {
}
您可以從任何包中導入所需的類,然后一次運行它們。包含測試用例的類放在“SuiteClasses”注釋下。
編輯:您只需像 eclipse 中的任何其他測試用例文件一樣運行它。
添加回答
舉報