Я бы хотел использовать тесты Serenity и JUnit с Ant.Я могу сгенерировать результаты теста Serenity, но сводный отчет Serenity не создается.
Я пытаюсь использовать для этого serenity-ant-task.jar, но когда запускается задача Ant,Я сталкиваюсь со следующей ошибкой:
java.lang.BootstrapMethodError: java.lang.IllegalAccessError: no such method: net.thucydides.core.model.TestOutcome.getStartTime()ZonedDateTime/invokeVirtual
at net.thucydides.core.reports.TestOutcomeLoader.inOrderOfTestExecution(TestOutcomeLoader.java:150)
at net.thucydides.core.reports.TestOutcomeLoader.loadFrom(TestOutcomeLoader.java:77)
at net.thucydides.core.reports.TestOutcomeLoader$TestOutcomeLoaderBuilder.from(TestOutcomeLoader.java:139)
at net.thucydides.core.reports.html.HtmlAggregateStoryReporter.loadTestOutcomesFrom(HtmlAggregateStoryReporter.java:225)
at net.thucydides.core.reports.html.HtmlAggregateStoryReporter.generateReportsForTestResultsFrom(HtmlAggregateStoryReporter.java:127)
at net.serenitybdd.ant.SerenityReportingTask.execute(SerenityReportingTask.java:112)
В файле ant build.xml у меня есть следующее:
<taskdef name="aggregate"
classname="net.serenitybdd.ant.SerenityReportingTask" >
<classpath>
<pathelement location="${basedir}/lib/test/serenity-ant-task-1.5.8.jar"/>
<pathelement location="${basedir}/lib/test/guice-4.1.0.jar"/>
<pathelement location="${basedir}/lib/test/guava-22.0.jar"/>
<pathelement location="${basedir}/lib/test/serenity-core-1.5.8.jar"/>
<pathelement location="${basedir}/lib/test/serenity-junit-1.5.8.jar"/>
<pathelement location="${basedir}/lib/test/slf4j-api-1.7.21.jar"/>
<pathelement location="${basedir}/lib/test/javax.inject-1.jar"/>
<pathelement location="${basedir}/lib/test/aopalliance-1.0.jar"/>
<pathelement location="${basedir}/lib/test/freemarker-2.3.23.jar"/>
<pathelement location="${basedir}/lib/test/gson-2.8.0.jar"/>
<pathelement location="${basedir}/lib/test/java-client-5.0.0-BETA9.jar"/>
<pathelement location="${basedir}/lib/test/selenium-support-3.5.2.jar"/>
<pathelement location="${basedir}/lib/test/selenium-api-3.5.2.jar"/>
<pathelement location="${basedir}/lib/test/asciidoctor-java-integration-0.1.4.jar"/>
<pathelement location="${basedir}/lib/test/commons-lang3-3.4.jar"/>
<pathelement location="${basedir}/lib/test/config-1.3.1.jar"/>
<pathelement location="${basedir}/lib/test/*"/>
</classpath>
</taskdef>
<target name="junit" depends="compile, manifest.jar">
<junit printsummary="yes" haltonfailure="no" fork="yes" showoutput="yes">
<!-- Serenity system properties. -->
<sysproperty key="included.packages" value="edu.umd.cs.findbugs" />
<sysproperty key="included.adapters" value="coverage,complexity,dependency" />
<!-- Project classpath, must include junit.jar -->
<classpath refid="manifest.classpath" />
<!-- test class -->
<classpath location="${build.compile.dir}" />
<formatter type="plain" />
<batchtest fork="yes" todir="${basedir}">
<fileset dir="${src.dir}">
<include name="**/*Test*.java" />
</fileset>
</batchtest>
</junit>
<!-- Build the aggregate Serenity Report -->
<aggregate sourceDirectory="${basedir}/target/site/serenity"
outputDirectory="${basedir}/target/site/serenity" />
</target>
enter code here
========================
Редактировать.Произошло несоответствие версий в файлах jar, которые я использовал.Теперь, кажется, работает хорошо.