正确设置Eclipse插件项目

时间:2016-08-08 04:09:19

标签: java eclipse-plugin eclipse-rcp swtbot

设置仅包含一个插件的eclipse插件项目的标准方法(遵循所有命名约定)是什么?我的插件项目名为com.florian.regexfindandreplace。现在我执行以下操作:我有一个仅包含上述插件的功能项目com.florian.regexfindandreplace.feature。然后我有另一个名为com.florian.regexfindandreplace.product的项目,它托管了我的插件的产品文件。我需要JUnit插件测试的产品,因为在启动配置中我需要设置选项 Run As product (参见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导出任何包,所以我在测试插件项目中链接了该插件的源文件夹(虽然看起来有点难看)。在我的测试项目中,我还添加了JUnit测试,JUnit SWTBot测试和JUnit插件测试的所有源代码。

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

1 个答案:

答案 0 :(得分:1)

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

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