【发布时间】:2020-03-13 10:37:25
【问题描述】:
Flutter 的 WidgetTester 有一个 pageBack() 方法用于弹出路由堆栈。当我使用 MaterialPageRoute 的 fullscreenDialog 属性将页面作为全屏对话框打开时,pageBack() 方法不起作用(“屏幕上应该有一个后退按钮”)。我找不到该工作的替代方法。
在 Flutter 测试中取消/关闭对话框的标准方法是什么?
我可以按如下方式关闭对话框:
await tester.tap(find.byIcon(Icons.close));
但是我可以改为使用pageBack(),如下所示:
await tester.tap(find.byIcon(Icons.arrow_back));
为什么有pageBack() 方法却没有关闭对话框的等效方法?
我还没有编写我的 Cupertino UI。该测试是否需要寻找不同的图标?
另请参阅类似的problem I had with selecting the overflow menu。
更新:也许pageBack() 模拟按下系统后退按钮,而不是后退箭头?在这种情况下,无需在 iOS 上模拟该行为,无论如何我都必须通过图标找到后退按钮来模拟按下它。
【问题讨论】: