如何使用 RCPTT 验证特定的上下文菜单路径不存在?

问题描述 投票:0回答:1

我想测试上下文菜单中有一个特定的选择 - 基于我的选择 - 并且没有其他选择。

举个例子: 我希望验证如果我在树中选择一个项目,上下文菜单应包含“与/其他内容比较”(这已经有效)并且这是唯一的选项,或者至少没有选择“与/彼此”因为我只选择了 1 项而不是 2 项。

为了检查某些东西是否存在,我已经使用了这个断言/验证,它是有效的 - 但对于我的“不存在”方法来说,它太详细了,因为不会有属性启用:

get-menu -path "someCascadeMenuItem/someSelectableLeafItem" | get-property enablement | equals true | verify-true

如果我尝试上面不存在的路径的代码(包括 verify-false 或 equals false),我会收到相对预期的“null”或失败的测试,无法找到给定的菜单(因为它不存在) .

所以,我不想验证 LeafItem 的属性 - 只想验证它是否存在。

由于我没有找到如何进入 CascadeMenuItem 上的断言模式,我猜测可能的属性,如 childCount、itemCount、getItems().length、getChildren().length 和 getData().toString() - 使用就像这个例子:

get-menu -path "someCascadeMenuItem" | get-property childCount| equals 1 | assert-true

一般来说,知道如何检查不存在会很好,因为最终可能需要菜单的根路径。

contextmenu eclipse-rcptt
1个回答
0
投票

我终于想出了如何检查是否不存在。 由于它返回错误,如果我的菜单路径不存在,我可以使用:

verify-error { get-menu -path "someCascadeMenuItem/someSelectableLeafItem" }

这也适用于顶层,并且可能适用于任何预计不存在的东西。

我在哪里找到它:https://archive.eclipse.org/rcptt/release/1.5.4/doc/ecl/

© www.soinside.com 2019 - 2024. All rights reserved.