Я только начал работать с модульным тестированием во Flutter и наткнулся на стену. У меня есть довольно простое приложение, расположенное здесь: https://github.com/chuckntaylor/kwjs_flutter_demo
По сути, это приложение представляет собой список событий, где вы можете нажать на одно, чтобы узнать больше о событии.
Для этого у меня есть два экрана: events_screen.dart
для просмотра списка и event_screen.dart
для деталей. Я пытался написать свои тесты в events_screen_test.dart
. Мои трудности с тестированием связаны с экраном событий (представлением списка). После запуска await tester.pumpWidget(MaterialApp(home: EventsScreen())
я могу использовать find.text('Events')
, например, чтобы найти заголовок в AppBar, но я не могу найти ни одного из элементов, составляющих список.
Для дальнейшего пояснения. Я использую get_it
как serviceLocator, чтобы получить viewModel для EventsScreen при его загрузке. ViewModel - это ChangeNotifierProvider
, а EventsScreen содержит Consumer
для обновления списка. в EventsScreen initState()
он вызывает loadEvents () в viewModel. После выполнения loadEvents () viewModel вызывает notifyListeners (), чтобы EventsScreen мог обновиться.
Как мне убедиться, что все эти шаги выполняются, чтобы я мог правильно проверить, правильно ли рендерится EventsScreen?
Я мог бы неправильно подойти к этому вопросу, поэтому приветствую любые советы.