在哪里放置测试类?

时间:2017-08-24 19:49:29

标签: testing junit eclipse-plugin eclipse-rcp eclipse-fragment

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

但是,如果我有一个常见的测试基础设施,许多插件都会使用它呢?

我不能将它放入片段中,因为我无法在其他地方重用片段内的类。

1 个答案:

答案 0 :(得分:2)

片段在运行时不存在合并Fragment-Host

您需要将代码放在常规的bundle / plug-in中,或者使用 poxy 包来公开可以从其他片段或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标头,只有Equinox OSGi实现才能理解它。

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