JUnit插件测试忽略目标平台

时间:2016-01-07 13:58:59

标签: java eclipse junit

我使用tycho-eclipse-plugin-archetype中的原型来创建一个带有工作集成测试项目的简单Eclipse插件。除了......它没有。

当我开始任何测试时," JUnit Plug-in Test"我得到以下异常:

!ENTRY org.eclipse.osgi 2 0 2016-01-07 14:43:35.734
!MESSAGE One or more bundles are not resolved because the following root constraints are not resolved:
!SUBENTRY 1 org.eclipse.osgi 2 0 2016-01-07 14:43:35.734
!MESSAGE Bundle initial@reference:file:../../../../../../../Users/MyName/.eclipse/org.eclipse.platform_4.5.1_2043537226_win32_win32_x86_64/plugins/org.eclipse.pde.junit.runtime_3.4.500.v20150423-1241.jar/ was not resolved.
!SUBENTRY 2 org.eclipse.pde.junit.runtime 2 0 2016-01-07 14:43:35.734
!MESSAGE Missing required bundle org.eclipse.core.runtime_[3.11.0,4.0.0).

(以及其他插件的类似消息。)

这很奇怪,因为我的目标平台包含org.eclipse.pde.junit.runtime 3.4.300,而不是3.4.500,这需要org.eclipse.core.runtime版本[3.3.0,4.0.0]。测试用例的运行配置与该版本一致并证明"未检测到任何问题。"

因此,路径包含" /org.eclipse.platform_4.5.1" 我认为它需要当前正在运行的Eclipse目标平台,即使在那里&# 39; s在工作区和运行配置中的另一组。

如何更改JUnit插件测试以获取当前活动的目标平台?

1 个答案:

答案 0 :(得分:0)

它适用于Eclipse 4.4.2(Luna),所以它可能是#34;功能之一" Eclipse Mars。

添加: As explained here,当Eclipse无法在工作区的目标平台中找到它们时,Eclipse会使用应用程序文件夹中的插件。这使得工作空间和Eclipse目标平台不同时测试失败。解决方案是:a)使用相同的Eclipse版本进行开发和项目,或者b)使用cristall球来确定缺少哪些测试插件并将它们添加到项目的目标平台。