我正在尝试点按一个屏幕上的FlatButton
,但是它们都有唯一的Key
。我有print
作为onPressed
函数中的唯一一行。
这正在工作,我在控制台中看到了打印行:
expect(find.byKey(Key('q1a2')), findsOneWidget);
await tester.tap(find.byKey(Key('q1a2')));
await tester.pumpAndSettle(Duration(milliseconds: 500));
这不起作用,我在控制台中看不到打印行:
expect(find.byKey(Key('q3a2')), findsOneWidget);
await tester.tap(find.byKey(Key('q3a2')));
await tester.pumpAndSettle(Duration(milliseconds: 500));
在两个示例中,expect
均通过。我该如何调试呢?
FlatButton
小部件代码:
FlatButton(
key: Key('q${questionId}a$score'),
color: isSelected ? Colors.amberAccent : Colors.transparent,
highlightColor: Colors.transparent,
splashColor: Colors.amberAccent.withOpacity(0.2),
shape: CircleBorder(
side: BorderSide(
color: isSelected ? Colors.amberAccent : Colors.grey[300],
width: 1.0
)
),
onPressed: () {
print('WTF!');
},
child: Text(
score.toString(),
style: TextStyle(
color: isSelected ? Colors.grey[900] : Colors.grey[600],
fontSize: isSelected ? 20.0 : 18.0,
fontWeight: isSelected ? FontWeight.normal : FontWeight.w300
)
)
),