测试套件是使用Maven和junit构建的,将测试上传到App Center进行测试时,发生错误“分叉过程中存在错误”。这是来自应用中心的消息
Please refer to target/surefire-reports for the individual test results.
Please refer to dump files (if any exist) [date]-jvmRun[N].dump, [date].dumpstream and [date]-jvmRun[N].dumpstream.
There was an error in the forked process
sun.reflect.annotation.TypeNotPresentExceptionProxy
org.apache.maven.surefire.booter.SurefireBooterForkException: There was an error in the forked process
sun.reflect.annotation.TypeNotPresentExceptionProxy
at org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:665)
at org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:533)
at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:279)
at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:243)
at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeProvider(AbstractSurefireMojo.java:1077)
at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked(AbstractSurefireMojo.java:907)
at org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute(AbstractSurefireMojo.java:785)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
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:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
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:483)
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)
如果需要更多信息,请告诉我。谢谢
答案 0 :(得分:0)
您获得的stacktrace覆盖了实际的堆栈跟踪-输出显示 real 堆栈跟踪已写入转储文件。无论如何,这对您无济于事。
请参考转储文件(如果有)[date] -jvmRun [N] .dump,[date] .dumpstream和[date] -jvmRun [N] .dumpstream。
我认为这是this question的副本-至少听起来像那样。
在这种情况下,您的代码使用的注释在测试执行时不可用。我在使用PowerMock批注和jcip-annotations时遇到了相同的错误。
无论如何,由于这个问题很旧,您可能已经解决了自己的问题或解决了这个问题-如果不是,请尝试禁用测试,例如二进制搜索,如果您的代码库太大。
仅当我使用dependenciesToScan运行 maven-surefire-plugin (执行已存在的测试工件的测试)时,才会发生错误(就我而言)。此配置需要明确列出要运行测试的依赖项-这对于二进制搜索更好,因为您可以按依赖项注释掉依赖项,而在正常测试运行中很难做到这一点。