正确设置 Eclipse 插件项目

Setting up an Eclipse plugin project correctly

设置仅包含一个插件的 eclipse 插件项目的标准方法是什么(遵循所有命名约定)。我的插件项目名为 com.florian.regexfindandreplace。现在我执行以下操作:我有一个功能项目 com.florian.regexfindandreplace.feature 仅包含上述插件。然后我有另一个名为 com.florian.regexfindandreplace.product 的项目,它托管我的插件的产品文件。 JUnit 插件测试所需的产品,因为在启动配置中我需要将选项 运行 设置为产品(请参阅 http://www.vogella.com/tutorials/SWTBot/article.html#swtbotexample_launchconfiguration)。

现在我不知道在哪里放置我的测试。如果我将它们放在 com.florian.regexfindandreplace 项目的源文件夹中,我需要在 MANIFEST.MF 中添加很多仅用于测试目的所需的包(例如 org.eclipse.swtbot.swt.finder)。所以我想避免这种情况。 目前,我的想法是有另一个插件项目 com.florian.regexfindandreplace.tests,将 SWTBot 的所有内容添加到 MANIFEST.mf 中所需的包中。但是,因为我不想 com.florian.regexfindandreplace 导出任何包,所以我在测试插件项目中 link 该插件的源文件夹(虽然看起来有点难看)。在我的测试项目中,我还添加了 JUnit 测试、JUnit SWTBot 测试和 JUnit 插件测试的所有源代码。

但是有没有标准的方法来设置这样的插件项目?你为你的插件项目做了什么?

通常将插件测试放入一个片段中,该片段的宿主包是包含被测代码的插件。在运行时,该片段被合并到主机包中,因此可以完全访问主机包的 类。生产代码插件不需要导出不需要的包。片段中指定了对测试库的依赖,使生产代码插件没有测试依赖。

另见此处http://www.modumind.com/2007/06/20/unit-testing-plug-ins-with-fragments/