Вы звоните tap()
на Drawer
, но он не виден, поскольку скрыт слева. Из-за этого Finder
не находит никаких элементов, а tap()
неудачно. И даже если Finder
обнаружил Drawer
, постукивание по самой Drawer
все равно не откроет его.
Один из способов, и, на мой взгляд, самый простой способ сделать это - предоставить GlobalKey
для Scaffold
и вызвать openDrawer()
для текущего State
этого. Вы также можете нажать на значок гамбургера или провести пальцем слева - но вызов openDrawer()
является более детерминированным:
void main() {
testWidgets('my drawer test', (WidgetTester tester) async {
final scaffoldKey = GlobalKey<ScaffoldState>();
const displayName = "displayName";
await tester.pumpWidget(
MaterialApp(
home: Scaffold(
key: scaffoldKey,
drawer: const Text(displayName),
),
),
);
scaffoldKey.currentState.openDrawer();
await tester.pump();
expect(find.text(displayName), findsOneWidget);
});
}