当前位置: 首页 > 面试题库 >

JUnit插件测试忽略目标平台

康照
2023-03-14
问题内容

我已经使用了tycho-eclipse-plugin-archetype中的html" target="_blank">原型来创建带有工作集成测试项目的简单Eclipse插件。除了…不是。

当我以“ JUnit插件测试”启动任何测试时,会出现以下异常:

!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.runtime3.4.300,而不是3.4.500,它需要org.eclipse.core.runtime版本[3.3.0,4.0.0)。测试用例的运行配置与此版本一致,并证明“未检测到问题”。

因此,基于该路径包含 “ /org.eclipse.platform_4.5.1”
的事实,即使工作空间和运行配置中还有其他设置,我也假定它采用了当前正在运行的Eclipse目标平台。

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


问题答案:

它可以在Eclipse 4.4.2(Luna)中运行,因此它可能是Eclipse Mars的“功能”之一。

补充:如此处
所述,当Eclipse在工作区的目标平台中找不到插件时,便使用应用程序文件夹中的插件。当工作空间和Eclipse目标平台不同时,这会使测试失败。解决方案是:a)使用相同的Eclipse版本进行开发和项目,或b)使用cristall球找出缺少的测试插件并将其添加到项目的目标平台。



 类似资料:
  • 问题内容: 我在使用Eclipse Neon M7来使JUnit插件测试正常工作时遇到了一些问题,我真的很希望来自使用测试的任何人的输入(必须有人来,对吗?)。 每当我开始在Eclipse Luna中运行的测试(但在Mars中却没有,我认为这是一个错误)并且继续使用Tycho进行工作时,都会得到以下异常: 显然,这不是Eclipse错误,但我做错了。没有迹象表明测试中会启动哪种插件,但是从版本范围

  • 问题内容: 好的,因此注释非常适合标记不应运行测试用例。 但是,有时我想忽略基于运行时信息的测试。例如,如果我有一个并发测试需要在具有一定数量内核的计算机上运行。如果此测试是在单处理器计算机上运行的,那么我认为仅通过测试是不正确的(因为尚未运行),并且通过测试并破坏构建肯定不是正确的选择。 因此,我希望能够在运行时忽略测试,因为这似乎是正确的结果(因为测试框架将允许构建通过,但记录未运行测试)。我

  • 在我的Eclipse项目(Eclipse Luna)中,我有一些JUnit测试用例,我不想在完全回归测试中运行。例如,因为它们需要用户在场以验证结果(例如,如果声音正确播放),或者因为它们只在特定系统上正确运行。这些测试大多是在对被测试类进行更改时手动使用的。我已经使用来忽略这些测试。 当我从Eclipse运行一个包含忽略测试的类(运行为->Junit测试)时,它将在测试列表中显示忽略的测试。

  • 有时,我们编写的代码并没有准备就绪,并且测试用例要测试该方法/代码是否失败(或成功)。 在本示例中,注释有助于禁用此测试用例。 如果使用注释在测试方法上,则会绕过这个未准备好测试的测试用例。 在本教程中,我们将演示如何使用来忽略测试方法。 创建一个Maven项目,其结构如下所示 - pom.xml 依懒包配置 - 创建一个测试类:TestIgnore.java,其代码如下所示 - 运行上面代码,得

  • 有时,在运行测试用例时,我们的代码并没有完全准备就绪。 结果,测试用例失败。 @Ignore注释在这种情况下@Ignore帮助。 使用@Ignore注释的测试方法将不会被执行。 如果测试类使用@Ignore注释,则不会执行任何测试方法。 现在让我们看看@Ignore在行动。 创建一个类 (Create a Class) 在C:\“JUNIT_WORKSPACE中创建一个要测试的java类,比如Me

  • 我正在测试Quarkus应用程序,我想忽略一些测试。 测试类用,以及带有 我试图使用注释,但它不起作用,被忽略的测试无论如何都会执行。 这是代码: 有人知道我怎么才能做到这一点吗?