使用ant时,仅在testng文件中调用所需的测试

时间:2011-10-05 02:21:04

标签: ant testng build.xml

我正在尝试从ant调用testng.xml文件的测试。

我的testng.xml如下所示:

<suite name="testsuite">
   bunch of parameters here
   <test name="test1">
   </test>

   <test name="test2">
   </test>
</suite>

现在,我想只运行“test1”测试,而不是“test2”测试。是否有方法(参数?)告诉ant build.xml文件执行此操作?

<testng classpathref="testng.class.path" delegateCommandSystemProperties="true" 
            outputDir="${test-output}" haltOnfailure="false" useDefaultListeners="true" 
            parallel="methods"
            failureproperty="test.failure">
            <xmlfileset file="testng.xml"/>
            <!--forked JVM OOM issue-->
            <jvmarg value="-Xmx512M"/>
            <jvmarg value="-Xms512M"/>
            <jvmarg value="-Xmn192M"/>
            <jvmarg value="-XX:PermSize=128M"/>
            <jvmarg value="-XX:MaxPermSize=128M"/>

        </testng>

2 个答案:

答案 0 :(得分:1)

documentation中查找-testnames(注意:复数形式)。

答案 1 :(得分:0)

xml文件非常适合:不从包含测试的类文件运行所有测试。在我看来,预期的方法是更改​​现有的xml文件,或者创建一个新文件。

但是,如果您的测试包含在不同的类文件中(我无法从您的示例代码中看到),您可以指定一个类文件集而不是xmlfileset,例如:

<testng  workingDir="../../" outputdir="${output_dir}" 
                verbose="2" listeners="org.uncommons.reportng.HTMLReporter,org.uncommons.reportng.JUnitXMLReporter"
                classpathref="testsClasspath">
                <classfileset dir="./${test_classes}/com/my/organization" includes="MyTest.class" />
            </testng>