Support for embedding screenshots of failed GUI tests in a JUnit HTML report (created with Ant.)

To embed screenshots of failed GUI tests in the HTML JUnit reports, please follow the these steps:

  1. Mark GUI tests with the annotation org.fest.swing.annotation.GUITest
  2. Add a definition of the Ant task festreport (provided by this module)
  3. Use the formatter {@link org.fest.swing.junit.ant.ScreenshotOnFailureResultFormatter} inside the junit Ant task
  4. Use the Ant task festreport instead of junitreport, and specify in its classpath where the fest-swing-junit jar is

Here is an example:


  <target name="test" depends="compile">
    <taskdef resource="festjunittasks" classpathref="lib.classpath" />
    <junit forkmode="perBatch" printsummary="yes" haltonfailure="no" haltonerror="no">
      <classpath refid="lib.classpath" />
      <classpath location="${target.test.classes.dir}" />
      <classpath location="${target.classes.dir}" />
      <formatter classname="org.fest.swing.junit.ant.ScreenshotOnFailureResultFormatter" extension=".xml" />
      <batchtest fork="yes" todir="${target.junit.results.dir}">
        <fileset dir="${target.test.classes.dir}" includes="**/*Test*.class" />
      </batchtest>
    </junit>
    <festreport todir="${target.junit.report.dir}">
      <classpath refid="lib.classpath" />
      <fileset dir="${target.junit.results.dir}">
        <include name="TEST-*.xml" />
      </fileset>
      <report format="frames" todir="${target.junit.report.dir}/html" />
    </festreport>
  </target>