flutter 小部件测试 - 如何执行“返回上一个屏幕”测试

STe*_*mup 6 flutter flutter-test

我正在 Flutter 中编写小部件测试。我无法找到任何文档来执行“返回到上一个屏幕”,因为我没有找到任何方法。请帮助提供一些示例“测试”代码。

Quy*_*yen 1

你必须模拟导航观察者。

  • 首先创建类class MockNavigatorObserver extends Mock implements NavigatorObserver

  • final mockObserver = MockNavigatorObserver();在您的测试文件中声明。

  • 将您的小部件放入其中MaterialApp并添加属性navigatorObservers: [mockObserver],

  • 最后在你的 testWidgets block {} 中模拟如下:

    final mockObserver = MockNavigatorObserver();
    final backIcon = find.byIcon(Icons.arrow_back_ios);
    expect(backIcon, findsOneWidget);
    await tester.tap(backIcon);
    verify(mockObserver.didPop(any, any));
    await tester.pumpAndSettle();
    
    Run Code Online (Sandbox Code Playgroud)