2016-05-23 59 views
1

我最近試圖在我們的項目中加入cobertura插件。但是我遇到了一個奇怪的問題。現在,如果我嘗試這樣做:如何使用Cobertura maven插件,以便字節碼不被更改?

mvn clean package cobertura:check-integration-test

我的項目組裝就好了。但這裏部署後是我得到的消息:

java.lang.NoClassDefFoundError: net/sourceforge/cobertura/coveragedata/LightClassmapListener

出現這種情況,我的理解,因爲改變的Cobertura我的課的字節碼。那麼,我應該如何着手進行檢查和構建代碼呢?現在我來爲TeamCity的以下解決方案:

第一步運行的Cobertura:

mvn clean package cobertura:check-integration-test

是第二步驟後運行正常裝配:

mvn clean package

這似乎工作,但似乎有點奇怪,我必須運行兩次打包過程(這需要兩倍的時間),只是爲了使字節碼不受COBE影響的乾淨構建rtura插件。

回答

0

如果您使用qualinsight-mojo-cobertura,您的類將在儀表時間備份,然後在報告時恢復(這將導致在生成的包中包含非檢測類)。

在儀器和報告之間,您可以隨心所欲地運行測試(不管它是UT還是IT)(不像maven-cobertura-plugin,qualinsight-mojo-cobertura不會運行測試)。有關更多信息,請查看項目頁面(特別是插件默認綁定的Maven階段)。

相關問題