首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从tycho中启动SWTBot测试中排除包

从tycho中启动SWTBot测试中排除包
EN

Stack Overflow用户
提问于 2012-09-10 17:13:59
回答 1查看 618关注 0票数 3

我正在使用SWTBot为一个RCP应用程序运行UI测试,在eclipse IDE中启动测试时,它工作得很好。现在,我想在maven中运行测试,到目前为止,它也可以工作。不幸的是,通过依赖关系链org.eclipse.swtbot.eclipse.finder --> org.eclipse.ui.editors --> org.eclipse.ui.ideorg.eclipse.ui.ide也出现在运行测试的应用程序中。有了这个包,就会出现一些意想不到的菜单项,应该在测试运行时中排除这个包。如何做到这一点呢?

在eclipse中运行测试时,我只需在SWTBot测试启动配置中排除org.eclipse.ui.ide包,一切就会按预期运行。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-10 17:28:03

依赖关系链org.eclipse.swtbot.eclipse.finder --> org.eclipse.ui.editors --> org.eclipse.ui.ide包含一个可选链接:第一个包通过可选的包org.eclipse.ui.texteditor导入只需要第二个包。这就是为什么您可以从从o.e.ui.ide启动的测试运行时中删除Eclipse包,而o.e.swtbot.eclipse.finder仍然可以工作。

在正常情况下,您可以通过确保可选依赖项不在目标平台中来在Tycho的测试运行时中实现相同的目标:

代码语言:javascript
复制
<plugin>
   <groupId>org.eclipse.tycho</groupId>
   <artifactId>target-platform-configuration</artifactId>
   <version>${tycho-version}</version>
   <configuration>
      <filters>
         <filter>
            <type>eclipse-plugin</type>
            <id>org.eclipse.ui.ide</id>
            <removeAll />
         </filter>
      </filters>
   </configuration>
</plugin>

但这就是为什么在您的特定情况下不能工作:当您使用UI test harness (useUIHarness=true)时,Tycho会无条件地将捆绑包org.eclipse.ui.ide.application作为额外需求添加到您的测试运行时。该捆绑包对org.eclipse.ui.ide有一个非可选的要求,因此使用上面的目标平台配置,您将得到一个“无法解析依赖项”错误,报告org.eclipse.ui.ide.application的约束未得到满足。

所以,我不认为在你的案例中有一个解决方案--但我认为这是Tycho中的一个bug。SWT bot测试在Eclipse中运行,因此它们也应该在Tycho中运行。显然,Eclipse不需要Tycho包(否则,当您取消选择org.eclipse.ui.ide包时,它将停止工作),因此org.eclipse.ui.ide.application也不需要它。请提交一个bug report for Tycho,并附上一个复制问题的最小样本项目,这样我就可以解决这个问题。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12348579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档