Как создать сводный отчет Serenity как задачу Ant - PullRequest
0 голосов
/ 01 января 2019

Я бы хотел использовать тесты 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, которые я использовал.Теперь, кажется, работает хорошо.

1 Ответ

0 голосов
/ 02 января 2019

Произошло несоответствие версий в файлах jar, которые я использовал.Кажется, теперь он работает нормально.

...