Невозможно записать контрольный пример метода отправки blo c в пользовательском интерфейсе во флаттере - PullRequest
0 голосов
/ 17 марта 2020

Я пытаюсь написать тестовые наборы виджетов для моего экрана, на котором есть панель вкладок, вкладки которой определяются во время выполнения. Я получаю сообщение об ошибке, что не удается найти виджет. Я попытался запустить его с помощью отладчика, но ожидаемые условия выполняются до того, как мое событие в blo c получит сообщение. Мой код:

testWidgets('BottomNavigationBar content test', (WidgetTester tester) async {
  HomePageWrapper home = HomePageWrapper(false,homeBloc);
  await tester.pumpWidget(home);
  await tester.pump();
  final expectedResponse = [
    InitialHomePageState(),
    GetUserTypeState(userType: UserType.alpha)
  ];

  when(home.homePageBloc.userRepository.getTenantType()).thenAnswer((_) => Future.value(UserType.alpha));
  await home.homePageBloc.add(IsBetaUserEvent());
  await expectLater(home.homePageBloc.state, emitsInOrder(expectedResponse));

  expect(find.text('titleTabbarSocialRecognition'), findsOneWidget);
  expect(find.text('titleTabbarMeeting'), findsOneWidget);
  expect(find.text('titleTabbarProfile'), findsOneWidget);
});

Я не уверен, какую ошибку я совершаю

...