2016-04-15 67 views
3

我应该如何摆脱此警告并为pitest添加超时常量?Pitest警告:奴隶由于TIMED_OUT而异常退出

我的命令是:

mvn jacoco:report org.pitest:pitest-maven:mutationCoverage sonar:sonar -Dpitest.timeoutConst=8000 

但它抛出:警告:从退出异常由于TIMED_OUT

+0

没有什么可担心的,你可以验证生成的报告:如果标记为突变超时并不像无限循环,以试图为超时常数较大的值,但是这可能每次遇到无限循环时都会造成更长的等待时间,从而减慢进程速度。 –

+0

已经选中此评论 - https://groups.google.com/forum/#!topic/pitusers/RFKOYSLmQ6o –

回答

6

这是不可能的,你将能够摆脱所有的警告 - 他们产生当一个突变产生一个无限循环。

Pitest通过比较每次测试的执行时间和未发生突变时的时间来检测这些测试。如果测试需要更多时间来运行,那么该过程将被终止,并且突变标记为超时。

的pitest原因报告警告是在情况下,它是在标记的突变为infnite环太草率 - 这可能是事情正在运行慢一点其他原因。

如果您有很多超时,首先要做的就是检查报告,看看它们是否都是合法的无限循环。如果他们这样做,那就没有什么可以做的了。

如果一些超时看起来不像无限循环,那么你可以尝试增加超时常量。

这可以在pom中设置,也可以在命令行中传递。它不应该以pitest作为前缀。

mvn org.pitest:pitest-maven:mutationCoverage -DtimeoutConst=8000

+0

我不确定这是否已更改或原始答案中的拼写错误,但带有更新版本的pitest插件(1.2.3),你需要一个稍微不同的参数拼写。您现在需要使用-DtimeoutConstant = 8000 – Evert