使用SWTBot时为什么禁用菜单项?
我已经使用SWTBot编写了一个GUI测试来测试Extract Method重构。我使用
editor.selectRange()
选择要提取到方法中的语句。但是,当我运行单元测试时,Extract Method重构菜单项被禁用。因此,SWTBot无法调用重构。
当我们改变org.eclipse.jdt.ui.actions.ExtractMethodAction
以便始终启用“Extract Method ...”菜单项时,我们的SWTBot会通过。但是,SWTBot应该让我们选择菜单项而不用黑客攻击org.eclipse.jdt.ui
插件。
包含上述单元测试的整个项目可在github上获得。我还在Eclipse论坛上报告了SWTBot和SWTBot错误跟踪系统的问题。但是,我们还没有收到论坛的解决方案。
没有找到相关结果
已邀请:
1 个回复
嘘伪
[编辑]我认为问题是菜单是通过扩展点或条件启用的。检查所有plugin.xml文件以获取菜单或基础操作以及启用它的条件。 要触发此条件,您可能必须通知工作台有关新选择的信息。查看http://www.eclipse.org/articles/Article-WorkbenchSelections/article.html和http://www.eclipse.org/articles/article.php?file=Article-action-contribution/index.html