CDT测试运行器是否适用于Eclipse Neon.3和Google Test

时间:2017-04-13 15:10:03

标签: eclipse eclipse-cdt eclipse-neon

我一直试图让CDT Test Runner与Eclipse Neon.3和Google测试一起使用,但每当我尝试使用&#34执行测试时,我都会在Eclipse日志中收到以下异常;运行":

!ENTRY org.eclipse.equinox.registry 4 1 2017-04-11 16:19:51.036
!MESSAGE Plug-in "org.eclipse.cdt.testsrunner" was unable to instantiate class "org.eclipse.cdt.testsrunner.internal.launcher.RunTestsLaunchDelegate".
!STACK 0
java.lang.NoClassDefFoundError: org/eclipse/cdt/debug/core/cdi/CDIException
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
at java.lang.Class.getConstructor0(Class.java:3075)
at java.lang.Class.newInstance(Class.java:412)
at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:184)
at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:905)
at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:55)
at org.eclipse.debug.internal.core.LaunchDelegate.getDelegate(LaunchDelegate.java:86)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:763)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:739)
at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:1039)
at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1256)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: java.lang.ClassNotFoundException: org.eclipse.cdt.debug.core.cdi.CDIException cannot be found by org.eclipse.cdt.testsrunner_7.0.0.201112081129
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:461)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:372)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:364)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:161)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 14 more

有没有其他人看到过这个问题并解决了它,或者CDT Test Runner已经死了?

我在Eclipse-CDT论坛上发布了类似的问题,但没有看到任何回复。

1 个答案:

答案 0 :(得分:1)

  

CDT测试运行器是否适用于Eclipse Neon.3和Google Test

是!

您遇到的具体问题将在该行下面回答。

安装CDT测试赛跑者的步骤

  1. Download,安装并运行Eclipse Neon
  2. 从“帮助”菜单 - >安装新软件:
  3. enter image description here

    1. 选择Neon更新站点并选择" C / C ++单元测试支持"
    2. enter image description here

      1. 创建并运行单元测试启动配置:
      2. enter image description here

        你有org.eclipse.cdt.testsrunner_7.0.0,该插件的Neon当前版本是8.1.0,是CDT 9.2的一部分(浏览Neon.3 release repo)。我不确定你是如何安装7.0.0的,但我的猜测是某个地方缺少一个允许这种情况发生的依赖。也许升级出错了。 (注意7.0.0版本是2011年,8.1.0版本是2017年。)

        您应该能够通过从Neon.3更新站点(http://download.eclipse.org/releases/neon/)或CDT 9.2.2(http://download.eclipse.org/tools/cdt/releases/9.2/)显式安装正确的版本来解决问题(CDT 9.2) .2是Neon中的CDT版本.3)

        如果你有一个可重现的方式来结束糟糕的Eclipse CDT安装,请file a bug