1

在测试 Eclipse RCP 插件时,最好将所有测试类和资源放在一个专用(测试)片段中。这样,主机插件中的所有类都可以访问,无论这些包是否实际导出。

但是,如果我有一个被许多插件使用的通用测试基础设施怎么办?

我不能把它放到一个片段中,因为我不能在其他地方重用片段中的类。

4

1 回答 1

2

运行时不存在片段。它与其合并Fragment-Host

您要么需要将代码放在常规包/插件中,要么使用poxy包来公开片段的类,以便从其他片段或包中访问。例如:

主持人

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标头,只有 Equinox OSGi 实现才能理解。

因此,我的建议是将实际测试类留在与被测包相对应的片段中,并将可重用的测试助手放在专用包中。

于 2017-08-24T21:34:42.030 回答