use*_*603 3 flutter flutter-test
我有一个依赖于提供者的小部件。我想在这个小部件上运行小部件测试。我假设因为小部件测试直接在树中的该节点上进行,所以出现以下错误是合理的:
* Ensure the Provider<Appointments> is an ancestor to this InstallMonitorPage Widget
Run Code Online (Sandbox Code Playgroud)
(注意:我的提供者的名字是 。可能主要包括:
return MultiProvider(
providers: [
Provider<AuthBase>(
builder: (context) => Auth(),
),
Provider<Appointments>(
builder: (context) => Appointments(),
)
],
child: MaterialApp(
title: title,
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: LaunchPage()),
);
Run Code Online (Sandbox Code Playgroud)
在小部件树下方的小部件上运行小部件测试时,是否有包含提供程序的语法/方法?
你可以尝试这样的事情:
await tester.pumpWidget(MultiProvider(
providers: [
Provider<AuthBase>(
builder: (context) => Auth(),
),
Provider<Appointments>(
builder: (context) => Appointments(),
)
],
child: Builder(
builder: (_) => YourWidgeToTest(),
),
),);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1819 次 |
| 最近记录: |