2016-12-13 21 views
1

Я пытаюсь запустить свой testClass в TeamCity от Maven. И у меня есть эта ошибка -Не удается запустить тест от Maven в TeamCity с testNG и Allure

Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test (default-test) on project PGRegression: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test failed: There was an error in the forked process java.lang.NoSuchMethodError: ru.yandex.qatools.allure.events.TestSuiteStartedEvent.withTitle(Ljava/lang/String;)Lru/yandex/qatools/allure/events/TestSuiteStartedEvent; 

моих buildSteps целей в TeamCity -

clean 
test -Dtest=testClass verify 

Я использую POM пример здесь - https://github.com/allure-framework/allure-core/wiki/TestNG

<build> 
<plugins> 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-surefire-plugin</artifactId> 
     <version>2.14</version> 
     <configuration> 
      <testFailureIgnore>false</testFailureIgnore> 
      <argLine> 
       -javaagent:${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar 
      </argLine> 
      <!--only for 1.3.* TestNG adapters. Since 1.4.0.RC4, the listener adds via ServiceLoader--> 
      <properties> 
       <property> 
        <name>listener</name> 
        <value>ru.yandex.qatools.allure.testng.AllureTestListener</value> 
       </property> 
      </properties> 
     </configuration> 
     <dependencies> 
      <dependency> 
       <groupId>org.aspectj</groupId> 
       <artifactId>aspectjweaver</artifactId> 
       <version>${aspectj.version}</version> 
      </dependency> 
     </dependencies> 
    </plugin> 
</plugins> 

Если я бегу другой testClass без yandex allure - его работа отличная, и у меня нет этой ошибки. Я использую для привлекательности в моем П это -

<properties> 
    <aspectj.version>1.8.9</aspectj.version> 
    <allure.version>1.4.23</allure.version> 
    <!--<allure.version>{latest-allure-version}</allure.version>--> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 
</properties> 
    <dependency> 
     <groupId>ru.yandex.qatools.allure</groupId> 
     <artifactId>allure-testng-adaptor</artifactId> 
     <version>${allure.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>ru.yandex.qatools.allure</groupId> 
     <artifactId>allure-model</artifactId> 
     <version>1.4.23</version> 
    </dependency> 
    <dependency> 
     <groupId>ru.yandex.qatools.allure</groupId> 
     <artifactId>allure-maven-plugin</artifactId> 
     <version>2.5</version> 
    </dependency> 
    <dependency> 
     <groupId>ru.yandex.qatools.allure</groupId> 
     <artifactId>allure-java-commons</artifactId> 
     <version>1.3.9</version> 
    </dependency> 
    <dependency> 
     <groupId>ru.yandex.qatools.allure</groupId> 
     <artifactId>allure-java-annotations</artifactId> 
     <version>1.4.23</version> 
    </dependency> 

ответ

0

Вы используете различные основные версию Allure артефактов:

Вы используете Allure Commons 1.3.9:

<dependency> 
    <groupId>ru.yandex.qatools.allure</groupId> 
    <artifactId>allure-java-commons</artifactId> 
    <version>1.3.9</version> 
</dependency> 

И здесь мы имеем 1.4.23.

<dependency> 
    <groupId>ru.yandex.qatools.allure</groupId> 
    <artifactId>allure-java-annotations</artifactId> 
    <version>1.4.23</version> 
</dependency> 

Вот почему вы получите NoSuchMethodError. Пожалуйста, не делайте этого. Вместо этого просто зависит от allure-testng зависимость:

<dependency> 
     <groupId>ru.yandex.qatools.allure</groupId> 
     <artifactId>allure-testng-adaptor</artifactId> 
     <version>${allure.version}</version> 
     <exclusions> 
      <exclusion> 
       <groupId>junit</groupId> 
       <artifactId>junit</artifactId> 
      </exclusion> 
     </exclusions> 
</dependency> 

 Смежные вопросы

  • Нет связанных вопросов^_^