在颤动中进行测试会给出错误MediaQuery.of(),该错误使用不包含MediaQuery的上下文调用

时间:2019-04-15 19:16:35

标签: flutter flutter-test

我正试图在混乱中测试登录页面的代码。这是我的第一次,我只是遵循他们提供的模板。但是我尝试推送的任何小部件都会产生一个错误,提示MediaQuery.of()在不包含MediaQuery的上下文中调用。

我已经尝试通过在应用中添加不同的小部件来进行尝试。但是,每个小部件都会产生与上述相同的错误,另一方面,我的应用在设备上运行正常,但是在测试时却给出了仅抽取小部件的错误。

dependencies

“登录”页面是带有应用栏和主体的简单脚手架。

1 个答案:

答案 0 :(得分:0)

添加此辅助方法:

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

然后您可以在测试中使用:

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