簡體   English   中英

使用Tycho在同一項目中的源代碼和測試源代碼

[英]Source and test source in same project using Tycho

我對第谷包裝類型和項目結構有疑問。 我目前有一個項目,該項目具有遵循典型Maven約定的源目錄和測試源目錄,該約定是使用包類型“ eclipse-plugin”構建的。 這導致測試未在Maven構建中運行。 我能找到的最常見的解決方案是將測試源分離到自己的項目/捆綁包中,並通過“ eclipse-test-plugin”進行構建。 我的問題:保留Maven約定並僅將整個項目構建為eclipse-test-plugin有什么弊端?

根據http://wiki.eclipse.org/Tycho/Packaging_Types的說法:“ Tycho引入了新的eclipse-test-plugin打包類型來表示此類項目。構建行為類似於常規的Eclipse插件,但是在測試時會對其進行特殊處理。 “

這使我相信,除了最終的捆綁包之外,實際上沒有其他缺點,可能取決於僅測試源所需的捆綁包。 但是,通過“ eclipse-plugin”(不拆分)進行構建的情況也是如此。 可以肯定地說,在這種情況下,將包裝類型更改為“ eclipse-test-plugin”只會導致在maven版本中運行測試而沒有其他副作用嗎?

(...)實際上,除了生成的包以外,沒有其他缺點,可能取決於僅測試源所需的包。

這就是為什么在Tycho中有單獨的eclipse-test-plugin模塊用於測試的主要原因。

OSGi清單中沒有作用域,因此測試依賴項會污染您的生產性捆綁軟件的依賴項。 然后,將捆綁軟件安裝到Eclipse或RCP中時,它可能會引入生產代碼實際上不需要的測試捆綁軟件。 對於大多數用戶來說,這是將他們的代碼拆分為高效和測試包的充分理由。

分離測試的另一個潛在原因是您想通過生產性捆綁軟件的OSGi API進行顯式測試。 在這種情況下,您不會在測試中使用片段,從而確保您的測試只能根據OSGi軟件包可見性規則從生產性捆綁包中加載類。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM