Boa tarde à todos!
Executo o teste conforme o curso, porém o segundo tesde de widget, que verifica se é apresentada funcionalidade de Transferência quando dashboard é aberto, me apresenta erro. Como posso estar corrigindo? A exception:
Verifica se é apresentada funcionalidade de Transferência quando dashboard é aberto:
══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
The following TestFailure object was thrown running a test:
Expected: exactly one matching node in the widget tree
Actual: _AncestorFinder:<2 widgets with type "FeatureItem" which is an ancestor of icon
Actual: _AncestorFinder:<2 widgets with type "FeatureItem" which is an ancestor of icon
"IconData"
O teste, no arquivo dashboard_widget_test:
testWidgets('Verifica se é apresentada funcionalidade de Transferência quando dashboard é aberto', (tester) async {
await tester.pumpWidget(MaterialApp(home: Dashboard()));
final iconTransferFeatItem = find.widgetWithIcon(FeatureItem, Icons.monetization_on);
expect(iconTransferFeatItem, findsOneWidget);
final nameTransferFeatItem = find.widgetWithText(FeatureItem, 'Transfer');
expect(nameTransferFeatItem, findsOneWidget);
});
A classe, no arquivo dashboard:
class FeatureItem extends StatelessWidget {
final String name;
final IconData icon;
final Function onClick;
FeatureItem(this.name, this.icon, {@required this.onClick});
@override
Widget build(BuildContext context) {
return Padding(
padding: const EdgeInsets.all(8.0),
child: Material(
color: Theme.of(context).primaryColor,
child: InkWell(
onTap: () => onClick(),
child: Container(
padding: EdgeInsets.all(8.0),
height: 100,
width: 150,
color: Theme.of(context).primaryColor,
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Icon(
Icons.monetization_on,
color: Colors.white,
size: 24.0,
),
Text(
name,
style: TextStyle(
color: Colors.white,
fontSize: 16.0,
),
)
],
)
),
),
),
);
}
}