junit5 - 如何在等待断言抛出时避免长时间等待?
问题描述
我正在测试一个菜单项是否不存在(这是相关的,因为我想检查是否正确满足隐藏该项目的条件)。因此,我打电话SWTBotRootMenu#contextMenu(String text) throws WidgetNotFoundException
给org.junit.jupiter.api.Assertions.assertThrows
.
但是,有许多这样的测试会使运行测试变得非常慢,因为WidgetNotFoundException
似乎只有在 5 秒超时后才会抛出。
有没有办法将超时设置为更短的值?或者以不同的方式完全避免等待?
解决方案
如果您只想检查菜单是否缺少项目,您可以获取SWTBotRootMenu#contextMenu()
整个菜单的内容并执行基本检查是否存在测试项目。
SWTBotRootMenu context = menu.contextMenu();
assertFalse(context.menuItems().contains(text));
推荐阅读
- c - 如何在 cgo 中使用操作系统特定的库路径?
- spring-boot - Liquibase 4.0 无法在 jar 中启动
- arguments - 如何在 Godot 引擎中调用参数?
- python - 将 2 个不相关变量转换为相关变量
- r-markdown - 带有乳胶包的 ioslides
- excel - 是否可以从多个工作簿中的特定位置提取数据并将其粘贴到单个工作表中的特定位置?
- r-markdown - Bookdown:每个部分从 1 开始编号或使用阿拉伯数字作为附录
- python - Python - 比较两个句子,哪些方法是正确的?
- firebase - Firestore 安全规则:为什么我可以读取数据?
- azure-data-factory - 如何使用 Azure 数据工厂连接到 Salesforce Einstein?