首页 > 解决方案 > org.apache.maven.surefire.booter.SurefireBooterForkException: 分叉进程出现错误测试机制null

问题描述

当我通过 git bash 执行测试时,即使所有测试都通过并出现以下错误,我也会遇到构建失败:

Git bash 命令 -mvn clean install -B -Pdev -Dcucumber.options=-m -Dtest=EndToEndTestSuite

Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.2:test (default-test) on project acceptance-test: There are test failures.

 Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.

 There was an error in the forked process
 Test mechanism :: null

 org.apache.maven.surefire.booter.SurefireBooterForkException: There was an error in the forked process
 Test mechanism :: null
at org.apache.maven.plugin.surefire
.booterclient.ForkStarter.fork(ForkStarter.java:656)
at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:282)
at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:245)
at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeProvider(AbstractSurefireMojo.java:1183)
at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked(AbstractSurefireMojo.java:1011)
at org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute(AbstractSurefireMojo.java:857)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
         at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210)
         at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156)
         at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148)
         at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
         at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
         at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)
         at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
         at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)
         at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)
         at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)
         at org.apache.maven.cli.MavenCli.execute(MavenCli.java:957)
         at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:289)
         at org.apache.maven.cli.MavenCli.main(MavenCli.java:193)
         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:498)
         at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282)
         at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225)
         at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406)
         at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)

我在 pom.xml 中的肯定配置看起来像这样

<plugin>
  <artifactId>maven-surefire-plugin</artifactId>
  <version>3.0.0-M3</version>
  <configuration>
    <parallel>classes</parallel>
    <threadCount>2</threadCount>
    <useSystemClassLoader>false</useSystemClassLoader>
  </configuration>
</plugin>
另外,我使用的是 junit 版本 - 4.12 我的意图是并行运行测试以减少构建时间。

标签: junitmaven-pluginmaven-surefire-plugincucumber-junit

解决方案


推荐阅读