执行命令 mvn clean test 时出现以下错误。即使我更改了 Surefire 插件的版本,但我仍然面临同样的错误。
错误日志: [错误] 无法在 pr 上执行目标 org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M4:test (default-test) 项目信息:存在测试失败。 [错误] [错误] 请参阅 C:\Users\Sheik Mohammed Clipse-workspace\info arget\surefire-reports 获取个人信息 l 测试结果。 错误1: [错误] 请参阅转储文件(如果存在)[日期].dump、[日期]-jvmRun[N].dump 和 [日期].dumpstream。 错误2: [错误] ExecutionException 分叉的虚拟机在没有正确告别的情况下终止。 VM 崩溃或调用 System.exit? 错误3: [错误] 命令是 cmd.exe /X /C ""C:\Program Files\Java\jdk1.8.0_311\jre in\java" "-javaagent:C:\Users\Sheik 穆罕默德.m2 epository/org/aspectj/aspectjweaver/1.8.10/aspectjweaver-1.8.10.jar" " -Dcucumber.options=--plu gin io.qameta.allure.cucumber4jvm.AllureCucumber4Jvm" --add-modules java.base ${argLine} -Xmx1024m -XX:MaxPerm 大小=256m org.apache.maven.surefire.booter.ForkedBooter“C:\Users\Sheik Mohammed\AppData\Local\Temp\surefire8647 270359642587079“2022-02-27T09-33-26_575-jvmRun1 Surefire8833373504517140594tmp Surefire_08041519546226636871tmp ” 错误4: [ERROR] 启动 fork 时发生错误,请检查日志中的输出 [错误] 进程退出代码:1 [错误] org.apache.maven.surefire.booter.SurefireBooterForkException:ExecutionException 分叉虚拟机终止 d 没有正确地说再见。 VM 崩溃或调用 System.exit? [错误] 命令是 cmd.exe /X /C ""C:\Program Files\Java\jdk1.8.0_311\jre in\java" "-javaagent:C:\Users\Sheik 穆罕默德.m2 epository/org/aspectj/aspectjweaver/1.8.10/aspectjweaver-1.8.10.jar" " -Dcucumber.options=--plu gin io.qameta.allure.cucumber4jvm.AllureCucumber4Jvm" --add-modules java.base ${argLine} -Xmx1024m -XX:MaxPerm 大小=256m org.apache.maven.surefire.booter.ForkedBooter“C:\Users\Sheik Mohammed\AppData\Local\Temp\surefire8647 270359642587079“2022-02-27T09-33-26_575-jvmRun1 Surefire8833373504517140594tmp Surefire_08041519546226636871tmp ” [ERROR] 启动 fork 时发生错误,检查日志中的输出
pom.xml
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<aspectj.version>1.8.10</aspectj.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M4</version>
<configuration>
<useSystemClassLoader>false</useSystemClassLoader>
<forkedProcessExitTimeoutInSeconds>120</forkedProcessExitTimeoutInSeconds>
<forkCount>3</forkCount>
<reuseForks>true</reuseForks>
<argLine>
-javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
-Dcucumber.options="--plugin io.qameta.allure.cucumber4jvm.AllureCucumber4Jvm"
--add-modules java.base ${argLine} -Xmx1024m -XX:MaxPermSize=256m
</argLine>
<systemPropertyVariables>
<allure.results.directory>${project.build.directory}/allure-results</allure.results.directory>
<allure.link.issue.pattern>https://example.org/browse/{}</allure.link.issue.pattern>
<allure.link.tms.pattern>https://example.org/browse/{}</allure.link.tms.pattern>
</systemPropertyVariables>
</configuration>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.aspectj/aspectjweaver -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>${aspectj.version}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>4.2.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>tech.grasshopper</groupId>
<artifactId>extentreports-cucumber6-adapter</artifactId>
<version>2.6.0</version>
<scope>compile</scope>
<exclusions>
<exclusion>
<artifactId>pdfbox2-layout</artifactId>
<groupId>com.github.ralfstuckert.pdfbox-layout</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.14.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.25</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
<scope>compile</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-java -->
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-java</artifactId>
<version>4.8.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-testng -->
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-testng</artifactId>
<version>4.8.1</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>6.9.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-core</artifactId>
<version>1.2.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.qameta.allure/allure-cucumber4-jvm -->
<dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-cucumber4-jvm</artifactId>
<version>2.13.3</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.qameta.allure/allure-maven -->
<dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-maven</artifactId>
<version>2.10.0</version>
</dependency>
<dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-testng</artifactId>
<version>2.13.0</version>
</dependency>
<!-- <dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire</artifactId>
<version>3.0.0-M4</version>
<type>pom</type>
</dependency>-->
</dependencies>
你可以试试这个: 将此代码添加到 pom.xml 的插件部分
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.2</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
解决方案1:由于单元测试失败,我遇到了错误。要解决此错误,请检查失败的单元测试并确保其成功通过,因为修复测试将绕过该错误。
如果您的 Spring Boot 应用程序由于单元测试失败而遇到错误,最好的方法是识别并修复导致测试失败的问题。
识别失败的单元测试
解决方案 2: 如果您因单元测试失败而遇到错误,并且您的 pom.xml 文件中有此配置以跳过测试。
在您的 maven pom.xml 中添加插件
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
我希望这有帮助!如果您有任何疑问或者还有什么我可以帮助您的,请告诉我。
编码愉快! 👨u200d💻
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.2</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
我遇到了这个错误,它是由于单元测试失败而发生的。因此,您只需检查失败的单元测试并使其通过即可绕过此错误。
可以通过改变MVN的执行环境来解决问题。
尝试这个命令:
- apt install locales-all
- update-locale LANG=fr_FR.UTF-8 LANGUAGE
- update-locale LC_TIME=fr_FR.UTF-8
- update-locale LANG="fr_FR.UTF-8" LANGUAGE="fr_FR"
- dpkg-reconfigure locales
- apt-get update >/dev/null
- apt-get install -y locales >/dev/null
- echo "fr_FR UTF-8" > /etc/locale.gen
- locale-gen fr_FR.UTF-8
- export LANG=fr_FR.UTF-8
- export LANGUAGE=fr_FR:fr
- export LC_ALL=fr_FR.UTF-8
尝试这个命令:
mvn clean install -Dlogging.root=[filepath]\logs
mvn clean install -Dlogging.root=C:\git_repo\payment-service\logs
注意:它不会跳过任何测试用例。