在进行 Flutter 小部件测试时,WidgetTester如果我了解树中至少一个小部件,我可以从中获取上下文。Text例如,如果我知道测试小部件树中有一个小部件,我可以
BuildContext context = tester.element(find.byType(Text));
Run Code Online (Sandbox Code Playgroud)
我怎样才能获得更普遍的背景?例如,我可以获取树的根小部件并获取它的BuildContext吗?
小智 4
声明一个navigatorKey使用
GlobalKey<NavigatorState> navigatorKey = GlobalKey<NavigatorState>();
Run Code Online (Sandbox Code Playgroud)
将其分配navigatorKey给测试类中的材料应用程序小部件。
await tester.pumpWidget(
MaterialApp(
home: const Scaffold(),
navigatorKey: navigatorKey,
),
);
Run Code Online (Sandbox Code Playgroud)
然后您将能够使用 访问其上下文navigatorKey.currentContext。
请注意,树中必须有一个小部件(在本例中为 a Scaffold),否则navigatorKey.currentContext将为null。
| 归档时间: |
|
| 查看次数: |
2235 次 |
| 最近记录: |