Flutter - 如何测试小部件中的抽屉测试?

Posted

技术标签:

【中文标题】Flutter - 如何测试小部件中的抽屉测试?【英文标题】:Flutter - How test drawer in widgets test? 【发布时间】:2019-10-31 06:17:12 【问题描述】:

我正在测试我的 Flutter 应用。我有一个小部件抽屉。我正在为此小部件进行测试。我需要打开盒子并点击项目。我使用此代码:

final  drawer = find.byTooltip('Open navigation menu');
expect(drawer, findsWidgets);
tester.tap(drawer) ;

这是工作。但我不知道如何在我的抽屉中找到物品并点击它们。 这是抽屉的代码:

    drawer: Drawer(
    key: Key("Drawer"),
    child: ListView(
      children: <Widget>[
         drawerItem(context, 'Login', Icons.account_circle, 'login'),
         drawerItem(context, 'Users', Icons.person, 'users'),
         drawerItem(context, 'Log Out', Icons.exit_to_app, 'logout')
      ],
    ),
  )

  .....

  ListTile drawerItem(BuildContext context, String title, IconData icon,
  [String route]) 
  return new ListTile(
  key: Key(title),
  title: Text(title),
  leading: Icon(icon)
     );

如何点击这些项目?

【问题讨论】:

【参考方案1】:

按类型使用查找器,它应该为您提供一个包含特定类型的所有项目的数组,然后只需像这样按索引访问项目。 find.byType(ListTile).at(index);

【讨论】:

你试过了吗? tester.tap(find.byType(ListTile).first);

以上是关于Flutter - 如何测试小部件中的抽屉测试?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Flutter 小部件测试中执行缩放(捏缩放)多指手势?

Flutter:在小部件测试中测试异常

如何在 Flutter 小部件测试中等待未来完成?

如何在 Flutter 小部件中测试回调函数

在 Flutter 小部件测试中,如何验证字段验证错误消息?

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