вызывая только необходимый тест в файле testng при использовании ant - PullRequest
0 голосов
/ 05 октября 2011

Я пытаюсь вызвать тесты файла testng.xml из ant.

Мой 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 ]

1 голос
/ 05 октября 2011

Посмотрите -testnames в документации (примечание: множественное число).

0 голосов
/ 28 ноября 2012

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>
...