Appcenter测试失败:分叉过程中出现错误

时间:2018-08-09 14:41:48

标签: java appium qa maven-surefire-plugin visual-studio-app-center

测试套件是使用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)
如果需要更多信息,请告诉我。谢谢

1 个答案:

答案 0 :(得分:0)

您获得的stacktrace覆盖了实际的堆栈跟踪-输出显示 real 堆栈跟踪已写入转储文件。无论如何,这对您无济于事。

  

请参考转储文件(如果有)[date] -jvmRun [N] .dump,[date] .dumpstream和[date] -jvmRun [N] .dumpstream。

我认为这是this question的副本-至少听起来像那样。

在这种情况下,您的代码使用的注释在测试执行时不可用。我在使用PowerMock批注和jcip-annotations时遇到了相同的错误。

无论如何,由于这个问题很旧,您可能已经解决了自己的问题或解决了这个问题-如果不是,请尝试禁用测试,例如二进制搜索,如果您的代码库太大。

仅当我使用dependenciesToScan运行 maven-surefire-plugin (执行已存在的测试工件的测试)时,才会发生错误(就我而言)。此配置需要明确列出要运行测试的依赖项-这对于二进制搜索更好,因为您可以按依赖项注释掉依赖项,而在正常测试运行中很难做到这一点。