我正在Eclipse JDT中开发一个项目,它在OSGI上有可选的依赖项 - 也就是说,它支持用作OSGI包,如果它在OSGI环境中用作bundle,它也会引用一些来自OSGI的课程。
现在我想编写JUnit测试用例,既可以在OSGI中运行,也可以在没有OSGI的情况下运行,包含在两个不同的测试套件中。 OSGI测试作为JUnit Pulg-in测试运行,非OSGI测试应该作为正常的JUnit测试运行。
现在我遇到了问题,我在Eclipse中找不到任何方法来准确指定JUnit测试运行配置的类路径并排除可选的OSGI jar。
有没有办法排除jar或修改Eclipse Run Configuration的默认类路径? 如果没有,是否有人有建议,如何在这种情况下设置JUnit测试?
我能找到的唯一解决方案是,从我的单元测试中创建一个jar文件,并在类路径上使用测试jar文件从不同项目运行没有OSGI的测试。但我更喜欢更优雅的解决方案,理想情况下无需第二个测试项目。
答案 0 :(得分:2)
在Gimbys评论的帮助下,我能够解决问题。虽然在Eclipse中无法修改JDT生成的默认类路径,但可以完全删除默认类路径,然后在运行时配置的类路径选项卡中添加自己的类路径。
要删除默认类路径,必须选择以当前运行项目命名的根条目,然后单击“删除”按钮。之后,可以添加应该在类路径中加载的所有jar文件和项目。这种方法的缺点是,jar文件通常由Eclipse插件提供,例如: junit.jar,然后也必须手动选择(例如,通过将其添加到项目的库文件夹或通过选择Eclipse安装文件夹的plugins目录中的外部jar)。
答案 1 :(得分:0)
我建议您将项目拆分为4个独立的项目:
如果您的CLI项目非常小,您可以将其与Logic项目合并。