2012-09-10 40 views

回答

0

從某種程度上講,它取決於你的Maven安裝程序的細節,這不在你的問題中。以下是一些一般性建議。

1)你應該在哪裏放置arquillian-jacoco和jacoco依賴關係?

這些依賴關係應該可能發生在您的Arquillian依賴關係的其餘部分。我的理解是,它只是具有這些依賴性,觸發Arquillian使用JaCoCo,而不是插件聲明;即使這些依賴關係在實際的Arquillian測試中是POM的父項,Arquillian測試類仍應該進行測試。您不會將這些依賴關係放入兄弟模塊中,但是它們需要由集成測試模塊繼承(除非該兄弟模塊已被聲明爲測試模塊的依賴關係)。

2)您應該在哪裏放置JaCoCo插件聲明?

如上所述,您可能甚至不需要此聲明,具體取決於您嘗試實現的目標。如果您想生成報告,而不僅僅是jacoco.exec文件,那麼您需要聲明插件並執行報告目標。如果您還有其他需要使用JaCoCo進行測試的測試,比如單元測試,那麼您也可以使用prepare-agent目標來聲明該插件。

如果您要聲明該插件,可以像處理其他任何Maven插件一樣處理該插件。如果你想在默認情況下跨越多個模塊運行JaCoCo,你可以選擇將插件聲明放在你的父POM中的常規'plugins'標籤中,並讓它被所有子模塊繼承,或者你可能希望將它放在父POM中在'pluginManagement'元素中,所以配置可以被繼承(見http://maven.apache.org/pom.html#Plugin_Management)。或者,如果您只想在集成測試模塊中運行Arquillian測試,那麼您也可以簡單地在該模塊的POM中聲明該插件(假設您需要報告,並且如果僅在進行Arquillian測試時沒有準備代理目標)。

希望有幫助!