考试类放在哪里?



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

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

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

片段在运行时不存在。它与其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标头,该标头仅由EquinoxOSGi实现理解。

因此,我的建议是将实际的测试类保留在与待测试捆绑包相对应的片段中,并将可重用的测试帮助程序放在专用的捆绑包中。

相关内容

  • 没有找到相关文章

最新更新