我想测试上下文菜单中有一个特定的选择 - 基于我的选择 - 并且没有其他选择。
举个例子: 我希望验证如果我在树中选择一个项目,上下文菜单应包含“与/其他内容比较”(这已经有效)并且这是唯一的选项,或者至少没有选择“与/彼此”因为我只选择了 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
一般来说,知道如何检查不存在会很好,因为最终可能需要菜单的根路径。
我终于想出了如何检查是否不存在。 由于它返回错误,如果我的菜单路径不存在,我可以使用:
verify-error { get-menu -path "someCascadeMenuItem/someSelectableLeafItem" }
这也适用于顶层,并且可能适用于任何预计不存在的东西。
我在哪里找到它:https://archive.eclipse.org/rcptt/release/1.5.4/doc/ecl/