web-dev-qa-db-fra.com

Échec de l'exécution de l'objectif org.Apache.maven.plugins: maven-surefire-plugin: 2.12: test (test par défaut) sur le projet.

Cela fait quelques jours que j'essaie de résoudre l’erreur suivante, mais je n’arrive pas à la résoudre :( 

Le fichier pom.xml de mon module est: 

<project xmlns="http://maven.Apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.Apache.org/POM/4.0.0 http://maven.Apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>junitcategorizer</artifactId>
<groupId>com.topdesk.test.junitcategorizer</groupId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
<artifactId>junitcategorizer.instrument</artifactId>
<name>JUnitCategorizer InstrumentationAgent</name>
<description>The agent used to instrument the called Java classes</description>
<dependencies>
<dependency>
    <groupId>org.ow2.asm</groupId>
    <artifactId>asm-commons</artifactId>
    <version>4.0</version>
</dependency>
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.10</version>
</dependency>
</dependencies>
<build>
<plugins>
  <plugin>
    <groupId>org.Apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <configuration>
      <archive>
        <manifest>
          <addClasspath>true</addClasspath>
        </manifest>
        <manifestEntries>
            <Premain-Class>com.topdesk.junitcategorizer.instrument.InstrumentationAgent</Premain-Class>
            <Agent-Class>com.topdesk.junitcategorizer.instrument.InstrumentationAgent</Agent-Class>
            <Can-Redefine-Classes>true</Can-Redefine-Classes>
            <Can-Retransform-Classes>true</Can-Retransform-Classes>
            <Boot-Class-Path>${project.artifactId}-${project.version}.jar</Boot-Class-Path>
            <Can-Set-Native-Method-Prefix>true</Can-Set-Native-Method-Prefix>
        </manifestEntries>
      </archive>
    </configuration>
  </plugin>
  <plugin>
    <groupId>org.Apache.maven.plugins</groupId>
    <artifactId>maven-shade-plugin</artifactId>
    <version>1.5</version>
    <executions>
      <execution>
        <phase>package</phase>
        <goals>
          <goal>shade</goal>
        </goals>
        <configuration> 
          <artifactSet>
            <includes>
              <include>org.ow2.asm:*</include>
            </includes>
          </artifactSet>
          <relocations>
            <relocation>
              <pattern>org.objectweb.asm</pattern>
              <shadedPattern>org.shaded.asm</shadedPattern>
            </relocation>
          </relocations>
        </configuration>
      </execution>
    </executions>
  </plugin>
 </plugins>
 </build>
 </project>

Je reçois l'erreur suivante:

[ERROR] Failed to execute goal org.Apache.maven.plugins:maven-surefire-plugin:2.
12:test (default-test) on project junitcategorizer.instrument: There are test failures.
[ERROR]
[ERROR] Please refer to D:\Masters\thesis related papers and tools\junitcategorizer\junitcategorizer.instrument\target\surefire-reports for the individual test results.
[ERROR] -> [Help 1]
org.Apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.Apache.maven.plugins:maven-surefire-plugin:2.12:test (default-test) on project junitcategorizer.instrument: There are test failures.

Please refer to D:\Masters\thesis related papers and tools\junitcategorizer\junitcategorizer.instrument\target\surefire-reports for the individual test results.

    at org.Apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.Java:212)
    at org.Apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.Java:153)
    at org.Apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.Java:145)
    at org.Apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.Java:116)
    at org.Apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.Java:80)
    at org.Apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.Java:51)
    at org.Apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.Java:120)
    at org.Apache.maven.DefaultMaven.doExecute(DefaultMaven.Java:347)
    at org.Apache.maven.DefaultMaven.execute(DefaultMaven.Java:154)
    at org.Apache.maven.cli.MavenCli.execute(MavenCli.Java:582)
    at org.Apache.maven.cli.MavenCli.doMain(MavenCli.Java:214)
    at org.Apache.maven.cli.MavenCli.main(MavenCli.Java:158)
    at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:62)
    at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)
    at Java.lang.reflect.Method.invoke(Method.Java:497)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.Java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.Java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.Java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.Java:356)
    Caused by: org.Apache.maven.plugin.MojoFailureException: There are test failures.

    Please refer to D:\Masters\thesis related papers and tools\junitcategorizer\junitcategorizer.instrument\target\surefire-reports for the individual test results.

    at org.Apache.maven.plugin.surefire.SurefireHelper.reportExecution(SurefireHelper.Java:83)
    at org.Apache.maven.plugin.surefire.SurefirePlugin.writeSummary(SurefirePlugin.Java:673)
    at org.Apache.maven.plugin.surefire.SurefirePlugin.handleSummary(SurefirePlugin.Java:647)
    at org.Apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked(AbstractSurefireMojo.Java:137)
    at org.Apache.maven.plugin.surefire.AbstractSurefireMojo.execute(AbstractSurefireMojo.Java:98)
    at org.Apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.Java:132)
    at org.Apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.Java:208)
    ... 19 more
    [ERROR]
    [ERROR] Re-run Maven using the -X switch to enable full debug logging.

J'ai essayé ce qui suit mais je n'ai pas aidé:

  1. mvn dependency :: tree
  2. mvn clean install -U ou Faites un clic droit sur "projet". Allez à "Maven" >> "Mise à jour". 

Aidez-moi, s'il vous plaît!

12
Srinu

Ajoutez à votre pom: 

 <plugins>
        <plugin>
          <groupId>org.Apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.19.1</version>
        </plugin>
  </plugins>

Dans votre code d'erreur, il n'a pas trouvé surefire plugin alors ajoutez-le

15
Hohenheim

C'est ce qui résout le problème: 

<plugin>
    <groupId>org.Apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.19.1</version>
    <configuration>
        <testFailureIgnore>true</testFailureIgnore>
    </configuration>
</plugin>

from Impossible d'exécuter le but org.Apache.maven.plugins: maven-surefire-plugin: 2.10: test

5
nikk

Il s'agit d'un type d'échec de test. L'annotation .@SpringBootApplication contient ces configurations.

1) @Configuration

2) @ComponentScan

3) @EnableAutoConfiguration

@EnableAutoConfiguration est la raison de cette erreur. Cela va essayer de configurer automatiquement l'application en fonction des dépendances dans votre pom.xml

Par exemple, lorsque vous avez une dépendance spring-data-jpa dans pom, il essaiera d'ajouter une configuration à l'application en examinant le fichier application.properties pour la source de données. Vous devez donc ajouter une source de données pour résoudre ce problème.

Pour MySQL:

spring.jpa.hibernate.ddl-auto=create
spring.datasource.url=jdbc:mysql://localhost/lahiru
spring.datasource.username=root
spring.datasource.password=

Ou 

Vous pouvez cacher cela en évitant les tests.

mvn install -DskipTests

Pour plus détails .

2
Lahiru Gamage

Je rencontrais le même type de problème, vos numéros de version dans la dépendance de Selenium, TestNG, Junit devraient être identiques à ceux que vous avez utilisés dans votre projet. Par exemple, dans votre projet, vous utilisez la version 3.8 de Selenium. Ce numéro de version doit être mentionné dans la dépendance.

 <dependency>
    <groupId>org.testng</groupId>
    <artifactId>testng</artifactId>
    <version>7.0.0-beta1</version>
    <scope>test</scope>
</dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.seleniumhq.Selenium</groupId>
      <artifactId>Selenium-Java</artifactId>
      <version>3.8.1</version>
    </dependency>       
    <dependency>                
      <groupId>org.testng</groupId>                             
      <artifactId>testng</artifactId>                               
      <version>6.8</version>                                
      <scope>test</scope>                                       
    </dependency>   
  </dependencies>
1
mudassar munir

Vérifiez vos fichiers de test. Vous devez effacer toutes les erreurs de fichiers de test sur votre projet et essayer de nettoyer et de construire.

1
Ferhat KOÇER

J'obtiens exactement le même stacktrace lorsque les tests échouent . Plus en haut, vous devriez voir des messages identifiant les classes de tests qui échouent . Ou allez à 

D:\Masters\thesis related papers and tools\junitcategorizer\junitcategorizer.instrument\target\surefire-reports

et jetez un coup d'œil aux rapports d'échec . Résolvez les problèmes et votre construction est ok.

Bonne nouvelle: vos poms semblent aller bien, Maven peut compiler et exécuter des tests.

Salut à tous, vous pouvez essayer d’ajouter ce qui suit dans votre POM, puis utiliser mvn clean compile, puis mvn install.

<!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>test</scope>
</dependency>
0
narayan

Cela a fonctionné pour moi avec la version 3.0.0-M1.

<plugin>
    <groupId>org.Apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>3.0.0-M1</version>
</plugin>

Vous devrez peut-être l'exécuter avec Sudo.

0
setnoset

Il suffit d’ajouter ceux qui se trouvent au-dessous de la ligne du fichier pom.xml en haut de la balise <modelversion>:

<repositories>
  <repository>
    <id>central</id>
    <name>Central Repository</name>
    <url>http://repo.maven.Apache.org/maven2</url>
    <layout>default</layout>
    <snapshots>
      <enabled>false</enabled>
    </snapshots>
  </repository>
</repositories>
0
Pradeep Kumar