我正在嘗試爲我的項目設置代碼覆蓋率。我使用Wildfly 8.2服務器,gradle作爲構建工具,並使用JUnit和Arquillian進行測試。在gradle中,我配置了jacoco插件來生成代碼覆蓋。我有一個任務叫做jacocoTestReport它允許我生成一個html報告。EJB的代碼覆蓋率使用Wildfly-Arquillian-Gradle-Jacoco
趣談運行測試: 我在一個多模塊項目工作,每個子項目有,我們有兩種方法部署類 - 一個用於非創建REST類的拆封檔案和其他-REST類。在arqullian.xml中,我們將此配置爲REST_CONTAINER和NON_REST_CONTAINER併爲WildFly安裝目錄提供路徑。當我們運行gradle build test時,它將通過部署REST.ear和非REST.ear來運行整個測試並生成覆蓋率報告。
問題是EJB和其他服務器管理類的代碼覆蓋率顯示爲0%(來自覆蓋率報告的主分析)。我還分析了jacoco.exec,在那裏我發現顯示0%覆蓋率的類沒有列在文件中(大部分是bean類)。
有人可以給我提供了正確的配置,其適用於組合:Wildfly-的Arquillian-搖籃 - Jacoco
注:我很確定使用比jacoco其他工具,嘗試的Cobertura但同樣的結果。
嘿,代碼覆蓋率EJB的實在不行或者類似的東西?這似乎從來沒有人嘗試過。 – Tomin
我的EJB獲得代碼覆蓋率很好。但是我不使用Arquillian,我認爲這是問題的根源,因爲它會導致測試類在自定義類加載器上重新加載。代碼覆蓋工具沒有看到重新加載的類(這是實際獲得行使的類),所以你得到0%的覆蓋率。 –