如何将宁静聚合报告创建为蚂蚁任务



我想在 Ant 中使用 Serenity 和 JUnit 测试。我能够生成宁静测试结果,但未生成聚合宁静报告。

我正在尝试使用 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 文件中的版本不匹配 用。它现在似乎工作正常。

我使用的 jar 文件中的版本不匹配。它现在似乎工作正常。

最新更新