首页 > 解决方案 > 如何在等待断言抛出时避免长时间等待?

问题描述

我正在测试一个菜单项是否不存在(这是相关的,因为我想检查是否正确满足隐藏该项目的条件)。因此,我打电话SWTBotRootMenu#contextMenu(String text) throws WidgetNotFoundExceptionorg.junit.jupiter.api.Assertions.assertThrows.

但是,有许多这样的测试会使运行测试变得非常慢,因为WidgetNotFoundException似乎只有在 5 秒超时后才会抛出。

有没有办法将超时设置为更短的值?或者以不同的方式完全避免等待?

标签: junit5swtbot

解决方案


如果您只想检查菜单是否缺少项目,您可以获取SWTBotRootMenu#contextMenu()整个菜单的内容并执行基本检查是否存在测试项目。

SWTBotRootMenu context = menu.contextMenu();
assertFalse(context.menuItems().contains(text));

推荐阅读