Не удалось выполнить цель org.apache.maven.plugins: maven-surefire-plugin: 2.12: test (default-test) для проекта.

Я пытался через пару дней решить следующую ошибку, но я не могу ее решить:(

Мой файл pom.xml модуля:

<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>

Я получаю следующую ошибку:

[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.

Я попробовал следующее, но не помог:

  • зависимость mvn:: tree
  • mvn clean install -U или щелкните правой кнопкой мыши на "проекте". Перейдите в "Maven" → "Обновить"

Пожалуйста, помогите мне!

Ответ 1

Это решило мою проблему - пожалуйста, примите это. Это было 2.10 в моем POM, только что обновил до 2.19.1 и обновил POM> Он сгенерировал отчет html огурца в целевой папке.

Спасибо.

Добавьте к вашему пом:

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

В вашем коде ошибки он не нашел surefire plugin поэтому добавьте его

Ответ 3

Это своего рода ошибка теста.@SpringBootApplication содержит эти конфигурации.

1) @Configuration

2) @ComponentScan

3) @EnableAutoConfiguration

@EnableAutoConfiguration является причиной этой ошибки. Это попытается автоматически настроить приложение в соответствии с зависимостями в вашем pom.xml

Например, когда у вас есть зависимость spring-data-jpa в pom, она попытается добавить конфигурацию в приложение, посмотрев файл application.properties для источника данных. Поэтому вам нужно добавить источник данных, чтобы решить эту проблему.

Для MySQL:

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

или

Вы можете скрыть это, пропустив тестирование.

mvn install -DskipTests

Подробнее Подробнее.

Ответ 4

У меня это работало с версией 3.0.0-M1.

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

Возможно, вам придется запустить его с помощью sudo.

Ответ 5

Попробуйте это работает!

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>3.0.0-M3</version>
                <configuration>
                <testFailureIgnore>true</testFailureIgnore>
                <shutdown>kill</shutdown> <!-- Use it if required-->
                </configuration>
            </plugin>

Ответ 6

Я получаю точно такую ​​же стеклу, когда тесты терпят неудачу. В верхней части вы должны видеть сообщения, идентифицирующие неудачные тестовые классы. Или перейдите к

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

и посмотрите отчеты об ошибках. Исправьте проблемы, и ваша сборка в порядке.

Хорошая новость. Кажется, ваши поры в порядке, Maven может скомпилировать и выполнить тесты.

Ответ 7

Несколько раз сталкивался с одной и той же проблемой, и у меня есть 2 решения:

Решение 1. Добавьте ссылку на верный плагин в pom.xml. Следите за тем, чтобы у вас были все узлы! В моих IDE версия для автоматического импорта отсутствовала !!!

<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>3.0.0-M3</version>
    </plugin>
</plugins>

Решение 2. Моя IDE добавила неправильный импорт в начало файла.

IDE добавлена

import org.junit.Test;

Я должен был заменить его

import org.junit.jupiter.api.Test;

Ответ 8

Проверьте тестовые файлы. Вы должны очистить все файлы тестовых файлов в своем проекте и попробовать "Очистить" и "Создать".

Ответ 9

Эта ошибка возникает по разным причинам, поэтому у каждого свое решение. Однако ваше собственное веб-приложение должно содержать ответ.

Вы можете посмотреть это в

/module_with_failure/target/surefire-reports/*.txt

Ответ 10

Попробуйте следующее:

mvn dependency:: tree в командной строке терминала или командной строки

Удачи, -)

Ответ 11

Я столкнулся с такой же проблемой: ваши номера версий в зависимости от Selenium, TestNG, Junit должны совпадать с теми, которые вы использовали в своем проекте. Например, в вашем проекте вы используете Selenium версии 3.8. Этот номер версии должен быть указан в зависимости.

 <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>

Ответ 12

Проверьте наличие конфликтующих зависимостей и удалите их. Это сработало для меня, когда я удалил зависимость JPA. Поскольку Spring boot поставляется со встроенным JPA, я удалил внешнюю зависимость, которая у меня была. Надеюсь, это сработает! :)

Ответ 13

Я столкнулся с той же проблемой, и как я решил ее, см. Ниже шаги или изображение:

  1. Кликнул по пункту меню Windows затмения
  2. Нажал на настройки
  3. выберите Установленные JRE
  4. Добавьте установленный путь JDK (JRE home: C:\Program Files\Java\jdk1.8.0_201\jre ')
  5. Добавить имя JRE: jdk1.8.0_201
  6. Нажмите на Готово
  7. Применить изменения и закрыть

введите описание изображения здесь

Ответ 14

Изменить номер версии на 2.19.1 у меня работает :)

'<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.19.1</version>
    <configuration>
        <systemPropertyVariables>
            <xmlOutputDir>${project.build.directory}/surefire</xmlOutputDir>
        </systemPropertyVariables>
    </configuration>
</plugin>'

Ответ 15

Уже 3 года, но то же самое случилось со мной, и я хотел внести свой вклад в мое дело. Используя решение @nikk, я получил лучшие результаты, но все еще появлялись другие ошибки, хотя да, мне разрешили упаковывать.

Однако моя задача заключалась в том, чтобы внедрить код коллеги на сервере, а в его тестовой среде этого не произошло с ним, поэтому я решил исследовать немного больше, поскольку код функционировал и не соответствовал тому, что я касался чего-либо..

В конце концов оказалось, что его приложение вставило таблицы mysql в несуществующую базу данных. Решение было так же просто, как создание такой базы данных, и ошибка исчезла.

Ответ 16

Эта проблема может быть связана с уже занятым портом. Surefire работает на 5005 порту. Поэтому вам нужно убедиться, что этот порт свободен. Если нет, измените или убейте процесс. Это происходит в Intellij некоторое время.

Ответ 17

Если вы используете убанту, попробуйте запустить MVN с помощью sudo. Я получил ту же ошибку для

mvn -Dtest=PerfLatency#latencyTest test -X 

Но

sudo mvn -Dtest=PerfLatency#latencyTest test -X 

Решил мою проблему

Ответ 18

Вот самый простой способ устранить эту ошибку:

1) Перейдите к пути к файлу pom.xml

2) И отредактируйте файл pom.xml следующим образом:

<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.12</version>
    </plugin>
</plugins>

3) Сохраните файл Это.

Ответ 19

Убедитесь, что имя класса, созданного в пакете, выглядит примерно так: Maven выбирает только файлы java, заканчивающиеся нотацией Test.

Я получал ту же ошибку и разрешал имена всех моих классов, добавляя "Test" в конце, чтобы все заработало.

Ответ 20

Это сработало для меня,

Щелкните правой кнопкой мыши по проекту → "Запустить как тест Maven". Это автоматически загрузит отсутствующие плагины, а затем щелкните правой кнопкой мыши по проекту → "Обновить проект Maven", он удалит ошибку.

Ответ 21

HI Все вы можете попробовать добавить ниже в свой POM, а затем использовать mvn clean compile, а затем mvn install.

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

Ответ 22

Просто добавьте строку ниже в файле pom.xml в верхней части <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>

Ответ 23

верная версия плагинов может быть одной из причин. У меня сработала следующая зависимость. Пожалуйста, попробуй:

    <!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-surefire-plugin -->
<dependency>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.19.1</version>
</dependency>

Ответ 24

Проблема не в ваших зависимостях.... вы должны открыть подробную ошибку на этом пути

Пожалуйста, обратитесь к D:\Masters\thesis документы и инструменты \junitcategorizer\junitcategorizer.instrument\target\surefire-reports для отдельных результатов теста.

там есть ошибка детализации, может быть, ваш класс обслуживания или класс serviceImpl или что-то отсутствует, например @anotation, или еще... у меня такая же ошибка, как и у вас,... вам следует попробовать

Ответ 25

попробуйте в cmd: mvn clean install -Dskiptests=true

который пропустит все unit test. Возможно, это сработает для вас.

Ответ 26

Если есть ошибки тестирования, просто пропустите их с помощью

mvn install -DskipTests

но я настоятельно рекомендую сначала исправить ваш тест.