Запуск jUnit с ANT - Как выполнить все тесты без использования @Suite? - PullRequest
1 голос
/ 10 июня 2011

Я хотел бы выполнить все тесты в каталоге / test без использования аннотаций, таких как

@Suite.SuiteClasses( ....)

В прошлом у меня был один класс, который вызывал множество других классов, чтобы протестировать их все.Этот подход больше не приемлем.

У меня есть каталог / test, под которым у меня есть несколько пакетов, каждый из которых содержит несколько тестов.

В моем текущем скрипте ANT у меня есть:

<target name="compileTest" depends="compile" description="compile jUnit">
    <javac srcdir="${test}" destdir="${bin}" includeantruntime="true" />
</target>

, за которым следует

<target name="test" depends="compileTest">
    <junit printsummary="yes" fork="no" haltonfailure="no">
        <classpath location="${bin}" />
        <formatter type="plain" />
    </junit>
</target>

В прошлом у меня было

<test name="MyCollectionOfTests" />

Я бы больше не хотел этого делать.

Чего мне не хватает?Пожалуйста, сообщите.

1 Ответ

3 голосов
/ 10 июня 2011

Вы можете использовать вложенный batchtest.Например:

<junit printsummary="on"
       fork="on"
       dir="${test.build}"
       haltonfailure="false"
       failureproperty="tests.failed"
       showoutput="true">
  <classpath>
    <path refid="tests.classpath"/>
 </classpath>
 <batchtest todir="${test.report}">
    <fileset dir="${test.gen}">
      <include name="**/Test*.java"/>
    </fileset>
    <fileset dir="${test.src}">
      <include name="**/Test*.java"/>
      <exclude name="gen/**/*"/>
    </fileset>
  </batchtest>
</junit>

В простейшей форме вы можете просто добавить вложенный код:

<batchtest todir="report">
  <fileset dir="test"/>
</batchtest>

к вашему вызову junit.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...