我正在设置我的第一个Jenkins服务器来构建和测试现有的maven项目,而jenkins无法完成单元测试。
当我从命令行运行“mvn清洁安装”时,所有模块都会构建并通过它们的单元测试。然而,Jenkins只能运行第一组单元测试(通过),然后以某种方式出错。
我用的是詹金斯1.499。
以下是来自顶级pom报告插件的一些相关信息:
<plugin>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>${maven.surefire.version}</version>
<configuration>
<outputDirectory>${basedir}/target/surefire-reports</outputDirectory>
</configuration>
</plugin>
Tests run: 61, Failures: 0, Errors: 0, Skipped: 0
mojoSucceeded org.apache.maven.plugins:maven-surefire-plugin:2.13(default-test)
[JENKINS] Recording test results
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:329)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239)
at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:158)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:100)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:66)
at hudson.remoting.UserRequest.perform(UserRequest.java:118)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:326)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.NoSuchMethodError: hudson.tasks.junit.TestResult.parse(JLjava/lang/Iterable;)V
at hudson.maven.reporters.SurefireArchiver.postExecute(SurefireArchiver.java:148)
at hudson.maven.Maven3Builder$MavenExecutionListener.recordMojoEnded(Maven3Builder.java:443)
at hudson.maven.Maven3Builder$MavenExecutionListener.mojoSucceeded(Maven3Builder.java:425)
at org.apache.maven.lifecycle.internal.DefaultExecutionEventCatapult.fire(DefaultExecutionEventCatapult.java:87)
at org.apache.maven.lifecycle.internal.DefaultExecutionEventCatapult.fire(DefaultExecutionEventCatapult.java:42)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:228)
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:84)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
at org.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher.java:79)
... 18 more
channel stopped
ERROR: Failed to parse POMs
hudson.util.IOException2: java.lang.reflect.InvocationTargetException
at hudson.maven.Maven3Builder.call(Maven3Builder.java:162)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:66)
at hudson.remoting.UserRequest.perform(UserRequest.java:118)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:326)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.Exception: java.lang.reflect.InvocationTargetException
at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:161)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:100)
... 10 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:329)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239)
at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:158)
... 11 more
Caused by: java.lang.NoSuchMethodError: hudson.tasks.junit.TestResult.parse(JLjava/lang/Iterable;)V
at hudson.maven.reporters.SurefireArchiver.postExecute(SurefireArchiver.java:148)
at hudson.maven.Maven3Builder$MavenExecutionListener.recordMojoEnded(Maven3Builder.java:443)
at hudson.maven.Maven3Builder$MavenExecutionListener.mojoSucceeded(Maven3Builder.java:425)
at org.apache.maven.lifecycle.internal.DefaultExecutionEventCatapult.fire(DefaultExecutionEventCatapult.java:87)
at org.apache.maven.lifecycle.internal.DefaultExecutionEventCatapult.fire(DefaultExecutionEventCatapult.java:42)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:228)
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:84)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
at org.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher.java:79)
... 18 more
Finished: FAILURE
我也有同样的问题:突然间,Jenkins无法记录测试结果,抛出了NoSuchMethodException。我将它从1.493更新到1.501(还将jenkins maven插件更新到最新版本),一切正常。
问题内容: 我是使用USB SSH插件在Linux服务器上运行命令的人,我使用SSH启动了一个脚本,该脚本花费了超过1个小时的时间才能运行,我不想等待那么多时间,因此我将30秒钟的时间设置为Exec超时。但是它显示错误ERROR:发布时发生异常,异常消息[Exec超时或在30,000 ms后被中断],并且不稳定。我不想使我的构建不稳定,因为我使用了詹金斯文本查找器来稳定该构建。在那个詹金斯文本查找
我实现了一个新类Holder。目标如下: 三个领域。字段1和2是整数,字段3是布尔值 这给我留下的问题是有50个可能的构造函数选项。5 X 5 X 2。这是不明智的或可扩展的(添加第6种类型,我必须编写一个巨大的更改),所以我使用了构建器模式: 这真的很有效。我有5个用于字段1初始化的生成器方法,5个用于字段2初始化的生成器方法,还有一个用于布尔值。设置字段后,调用build()方法,该方法使用格
首先:这与SonarQube不显示单元测试成功无关。关于这个话题有很多问题和答案,但它们都没有帮助。 我的设置:在上使用由触发的和默认的surefire测试。这就是Sonarqube的结果: 如您所见,它正确地显示所有项目的单元测试成功。选择一个项目使我们获得了包测试的成功。在这一点上变得奇怪了。例如GUI包:它说8,3%的项目测试成功,但0,0%的包测试成功。这怎么可能? 问题是:为什么xxx.
现在我想对这个函数进行单元测试。我正在使用Mockk: 不幸的是,由于以下异常,此测试失败: 我尝试用替换,但测试似乎在无限循环中等待。 有人能帮我弄一下这个吗? 提前致谢
我的问题是:我是否应该修复我的单元测试,因为他们没有找到错误?单元测试不应该考虑其他类吗?我只是修改了我的生产性代码,因为集成测试覆盖这些内容就足够了。 编辑: 由于这些答复,似乎有必要进一步说明我的问题。我仍然不确定哪个测试负责什么。 好吧,我的测试有100%的代码复盖率,我创造的突变体被我的测试检测到,所以一切看起来都很好。 我的第二个类是一个处理程序,它负责在每次调用handler.next