2011-02-23 53 views
0

我有幾個Selenium測試並希望知道它們的覆蓋範圍(用Cobertura測量)。我使用Maven 2作爲構建框架。使用儀表文件運行碼頭(cobertura)

在執行我的Selenium測試之前,我使用mvn jetty:run啓動Web應用程序。

爲了覆蓋率數據出現在我的報告中,我需要Jetty使用檢測代碼。

我可以使用mvn cobertura:instrument明確地測試代碼。但是,我怎麼能告訴Jetty使用測試代碼(目錄目標/生成類/ cobertura)?

在此先感謝

德米特里

回答

3

在碼頭,Maven的插件插件條目的配置元素,您可以指定元素,這將導致它使用一個不同的路徑來尋找類。

如果你設置你添加以下到您的碼頭plugin元素,我想你會在業務:

<classesDirectory>${basedir}/target/generated-classes/cobertura</classesDirectory> 
+0

現在我越來越_java.lang.NoClassDefFoundError:網/ sourceforge上/的Cobertura/coveragedata/HasBeenInstrumented_啓動Jetty時。 – 2011-02-23 19:09:31

+0

我猜測cobertura jar不在jetty的運行時類路徑中。你能夠追蹤一個cobertura的依賴關係,你可以把它作爲你的pom的運行時依賴項嗎? – nojo 2011-02-23 19:12:49

+0

我通過向Jetty插件配置添加Cobertura依賴項解決了上述問題。現在我得到另一個異常:_java.lang.ClassNotFoundException:net.sourceforge.cobertura.coveragedata.TouchCollector_。 – 2011-02-23 19:17:42