剔除艾瑪合成類時試圖運行覆蓋範圍或使用艾瑪運行一個Maven構建:艾瑪我得到如下:內STS
java.lang.IllegalStateException:無法訪問方法:不能設置。 靜態最後的[Z場packageName.ClassName $ jacocoData到[Z
所以我周圍中搜索網上,我發現EclEmma網站上的以下內容:
我的代碼使用反射。爲什麼當我用JaCoCo執行它時會失敗?
要收集的執行數據JaCoCo文書被測 其將兩個成員的類的類:專用靜態字段 $ jacocoData和私人靜態方法$ jacocoInit()。兩個成員 都被標記爲合成。
請更改代碼忽略合成成員。無論如何,這是一個很好的練習 ,因爲Java編譯器在某些情況下創建合成成員 。
但我在網上找不到關於如何實際忽略Emma合成成員的任何文檔。
在STS我期待在首選項/的Java /代碼覆蓋和我看到的不包括盒子來裝排除(我知道我也可以把我的POM排除)。
我只是想知道什麼需要去那裏排除所有的合成類。
謝謝
的「哈克」的方式忽略了'$ jacocoData'是知道一個事實,即它是在集體成員列表的末尾總是添加。儘管如此,我們非常想知道如何排除Java/Scala類的任何合成成員。 –
運氣好嗎?我遇到過同樣的問題,現在我正在尋找如何更改代碼以忽略合成成員_。 – topr