Тестирование во флаттере выдает ошибку MediaQuery.of (), вызванную с контекстом, который не содержит MediaQuery - PullRequest
1 голос
/ 15 апреля 2019

Я пытаюсь проверить код страницы входа в флаттер.Это первый раз для меня, и я просто следую предоставленному ими шаблону.Но любой виджет, который я пытаюсь выдвинуть, выдает ошибку, в которой говорится, что MediaQuery.of () вызывается с контекстом, который не содержит MediaQuery.

Я пробовал использовать разные виджеты в моем приложении.Но каждый виджет выдает ту же ошибку, что и упомянутая выше, с другой стороны, мое приложение работает нормально на устройстве, но при тестировании выдает ошибку только для прокачки виджета.

await tester.pumpWidget(Login());

и LoginСтраница простая Scaffold с appbar и тела.

1 Ответ

0 голосов
/ 15 апреля 2019

Добавьте этот вспомогательный метод:

 Widget buildTestableWidget(Widget widget) {
   return MediaQuery(data: MediaQueryData(), child: MaterialApp(home: widget));
 }

Затем вы можете использовать внутри теста:

 await tester.pumpWidget(buildTestableWidget(Login()));
...