2016-04-15 65 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