2017-08-24 70 views
1

測試Eclipse RCP插件時,最好讓所有測試類和資源都存在於專用(測試)片段中。 這種方式可以訪問主機插件中的所有類,而不管這些包是否實際導出。在哪裏放考試班?

但是如果我有一個通用的測試基礎架構,那麼很多插件都會使用它?

我不能把它放到一個片段中,因爲我不能在其他地方的片段中重用類。

回答

2

在運行時,片段不存在存在。這是合併與其Fragment-Host

您可能需要將代碼放置在常規包/插件中,或使用公開片段的類的bundle來使其可以從其他片段或捆綁包訪問。例如:

主機

Bundle-SymbolicName: org.example.test.util 
Eclipse-ExtensibleAPI: true 

片段

Bundle-SymbolicName: org.example.test.util.impl 
Export-Package: org.example.test.util.impl 
Fragment-Host: org.example.test.util 

然而,後一種方法使用的特定Eclipse的Extensible-API報頭僅由春分OSGi實現理解。

因此,我的建議是將實際的測試類放在與被測包相對應的片段中,並將可重用的測試助手放在專用包中。