2010-12-14 22 views
0

我正在開發一個Eclipse插件,並使用maven來協調我的源代碼結構。爲了編譯插件我使用tycho擴展名爲maven。但是,我想知道如何執行unitest。二進制輸出和Eclipse插件測試

我想使用surefire插件進行測試,因爲我另外使用聲納服務器進行源代碼質量管理。如果我使用eclipse-test-plugin作爲包目標,則應用Unitest。不過,我想使用默認的surefire插件來應用unitests。

現在我發現包含我的單元測試包的src/test/java被正確讀取和編譯,但寫入了錯誤的輸出文件夾。我需要在目標/測試類中進行測試。但是它們被編譯爲目標/類。

由於我是Eclipse插件開發和maven的新手,我無法找到如何將測試寫入正確的輸出文件夾。我已經嘗試添加和更改eclipse-plugin項目的build.properties。對於其他不是插件項目且不使用tycho的項目來說,它也可以工作。

任何幫助表示讚賞。

問候, 弗洛裏安

回答

1

不同於標準行家項目,Eclipse插件/ OSGi包的約定是具有測試駐留在單獨的項目。這是因爲在OSGi中沒有像maven依賴範圍「測試」那樣的東西。 因此,將您的測試保存在與您的測試代碼相同的項目中會迫使您將測試代碼/依賴項混淆在一個有效的代碼/依賴項中。如你所說,Tycho提供了一個單獨的Maven包裝類型「eclipse-test-plugin」,你應該使用它來進行專門的測試插件/片段。請參閱https://docs.sonatype.org/display/TYCHO/PackagingTypes

第谷公司不支持駐留在同一項目中的普通單元測試。

+0

感謝您的回答。我想出瞭如何運行測試,它運行良好,所以我不能將單元測試統計信息添加到Sonar中,但這並不重要。 – Florian 2011-01-12 21:30:50