NoSuchMethodError при использовании аннотации @Step в Allure2 - PullRequest
0 голосов
/ 29 мая 2018

Я пытаюсь внедрить Allure2 в качестве инструмента отчетности для нашего пакета автоматизации, но, похоже, у меня возникла проблема с аннотацией @Step.

У меня есть импорт на месте, IDE распознает его отлично, я вижу пакет под зависимостями, и определенный класс доступен для просмотра, и все кажется правильным, но когда я пытаюсь запустить тест, я получаюэта ошибка:

java.lang.NoSuchMethodError: io.qameta.allure.aspects.StepsAspects.aspectOf()Lio/qameta/allure/aspects/StepsAspects;

Если я удаляю аннотацию @Step, все работает отлично, включая отчет.

Поискив вокруг всего, что я смог найти, было то, что эта та же самая проблема, казалось, была решена во время бета-тестирования, и я использую последнюю версию на сегодняшний день.Я также реализовал это в другом проекте, и он отлично работает с теми же версиями, но даже после просмотра обоих файлов pom.xml я не могу понять, где я мог испортить.

Вот соответствующие биты моих настроек pom.

<properties>
    <!--DEPENDENCIES VERSIONS-->
    <allure2.version>2.6.0</allure2.version>
    <allure.maven.version>2.9</allure.maven.version>
    <maven.surefire.plugin.version>2.19.1</maven.surefire.plugin.version>
    <aspectj.version>1.9.1</aspectj.version>
</properties>

    <dependency>
        <groupId>io.qameta.allure</groupId>
        <artifactId>allure-testng</artifactId>
        <version>${allure2.version}</version>
    </dependency>
    <dependency>
        <groupId>io.qameta.allure</groupId>
        <artifactId>allure-maven</artifactId>
        <version>${allure.maven.version}</version>
        <exclusions>
            <exclusion>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
            </exclusion>
            <exclusion>
                <groupId>org.testng</groupId>
                <artifactId>testng</artifactId>
            </exclusion>
        </exclusions>
    </dependency>


        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>${maven.surefire.plugin.version}</version>
            <configuration>
                <testFailureIgnore>true</testFailureIgnore>
                <systemPropertyVariables>
                    <allure.directory>${project.build.directory}/allure-results</allure.directory>
                    <allure.results.directory>${project.build.directory}/allure-results</allure.results.directory>
                </systemPropertyVariables>
                <suiteXmlFiles>
                    <suiteXmlFile>testng-run.xml</suiteXmlFile>
                </suiteXmlFiles>
                <argLine>
                    -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
                </argLine>
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>org.aspectj</groupId>
                    <artifactId>aspectjweaver</artifactId>
                    <version>${aspectj.version}</version>
                </dependency>
            </dependencies>
        </plugin>

        <plugin>
            <groupId>io.qameta.allure</groupId>
            <artifactId>allure-maven</artifactId>
            <version>${allure.maven.version}</version>
            <configuration>
                <properties>
                    <allure.issues.tracker.pattern>######################</allure.issues.tracker.pattern>
                    <allure.tests.management.pattern>#######################</allure.tests.management.pattern>
                </properties>
            </configuration>
        </plugin>

Я не думаю, что указание зависимости allure-maven в обоих местах необходимо.Просто чтобы исключить это, я пробовал с этим только в разделе плагинов и той же самой проблеме.

Есть мысли?

1 Ответ

0 голосов
/ 29 мая 2018

Возможно, вы используете пользовательский aop.xml файл конфигурации, который исключает аспекты Allure из ткачества.Убедитесь, что пакет io.qameta.allure включен в конфигурацию ткача

...