# JUnit mit ANT



## DirkHo (30. Juni 2010)

Hallo zusammen,

ich habe mir ein ANT-Skript gebastelt, das automatisch meine Selenium-Tests startet. Nun kann ich damit jedoch nur die Klassen ausführen, die auch im test-Tag definiert sind.

Gibt es da sowas wie eine Schleife mit der ich sagen kann "führe mir alle Test-Klassen aus, die 'Testfall*' (* ist Platzhalter für 1, 2, 3, 4) heißen" oder (was mir noch lieber wäre) "führe alle Klassen in einem Ordner src/test/blubb aus unabhängig davon, wie sie heißen"?

Ich lasse mir am Ende auch einen Report per JUnit-Report generieren. Kann ich in diesen einen Report auch irgendwie alle ausgeführten Testfälle aufnehmen (nehmen wir an, ich habe 10 Klassen mit Testfällen, dass dann nicht für jede Klasse ein eigener Report generiert wird, sondern alle Klassen bzw. deren Testergebnisse in einem Report stehen?

Hier mal ein wenig Code-Auszüge


```
...
<target name="tests_ausfuehren">
  <delete dir="${REP}" />
  <mkdir dir="${REP}" />
  <mkdir dir="${REP}/xml" />
  <junit printsummary="yes" haltonfailure="no">
    <classpath>
      <pathelement location="${BIN}" />
      <fileset dir="${LIB}">
        <include name="**/*.jar" />
      </fileset>
    </classpath>

    <test name="test.blubb.TestCase" haltonfailure="no" todir="${REP}">
      <formatter type="xml" />
    </test>
  </junit>
  <junitreport todir="${REP}">
    <fileset dir="${REP}/xml">
      <include name="TEST*.xml" />
    </fileset>
    <report format="frames" todir="${REP}/html" />
  </junitreport>
</target>
...
```

Für eure Hilfe wäre ich (mal wieder) sehr dankbar.

Vielen Dank und viele Grüße,

Dirk


----------



## twagi1232010 (30. Juni 2010)

Hallo,

innerhalb Deines JUnit-Task verwendest Du das Target 'batchtest'.
Über ein Filseset kannst Du dann alle Tests einbinden.

Beispiel:


```
<batchtest fork="yes" todir="${junit.reports.dir}">
   <fileset dir="${test.src.dir}">
           <include name="**/*Test*.java/>
   </fileset>
</batchtest>
```

Viele Grüße
twagi


----------



## DirkHo (1. Juli 2010)

Hallo twagi,

super, vielen Dank! Klappt ja perfekt...

Viele Grüße,

Dirk


----------



## Felix (5. Juli 2010)

Hallo,

da das Thema ja so schön passt, hier noch eine Frage zu JUnitReport: Ist es damit möglich auch eine grafische Auswertung zu realisieren? Bei der Google-Suche nach "JUnitReport Chart" fand ich nur andere Werkzeuge die JUnit-Tests ausführen und deren Ergebnisse dann aufbereiten.

Vielen Dank und viele Grüße,

Felix


----------



## twagi1232010 (5. Juli 2010)

Hallo,

der Task 'junitreport' gibt meines Wissens nach ich nicht mehr her, als die einfache Aufbereitung der Ausgabe in HTML. Wobei die Darstellung auch nur eine einfache Übersicht ist.

Was willst Du denn grafisch darstellen?

Wir benutzen in der Firma Clover für die Messung der Testabdeckung. Die wird auch grafisch etwas aufbereitet. Clover instrumentiert den bestehenden Code und misst dann die Abdeckung. Daher ist an der Stelle leider ein zusätzlicher Build nötig.

Clover ist für non-profit Projekte kostenlos.

http://www.atlassian.com/software/clover/

Vielleicht hilft Dir dies weiter.

Viele Grüße
twagi


----------



## Felix (5. Juli 2010)

Hallo twagi,

vielen Dank für deine Antwort und den Tipp.

Ich werde mir das Tool mal anschaun - wobei ich den Build so einfach wie möglcih halten wollte. Wenn das Teil mir dann noch paar Charts (von X wurden Y nicht erfüllt, von den Y waren A der Fehler, B der Fehler,...) generiert hätte hätte ich das klasse gefunden. Aber ok, wenn es das dann so nicht gruppieren kann, auch nur halb so wild.

Vielen Dank und viele Grüße,

Felix


----------

