在我的州立课上,我宣布了一个未来:
\nFuture<void> _testFuture;\n
Run Code Online (Sandbox Code Playgroud)\n并像这样分配它initState
:
super.initState();\n\n_testFuture = Future(() async {\n await Future.value(1); //can be any computation\n });\n
Run Code Online (Sandbox Code Playgroud)\n并像这样使用它FutureBuilder
:
FutureBuilder(\n future: _testFuture,\n builder: (context, snapshot) {\n if (snapshot.connectionState == ConnectionState.done)\n return Text('Hi');\n else\n return Center(\n child: CircularProgressIndicator(),\n );\n },\n ),\n
Run Code Online (Sandbox Code Playgroud)\n正常运行应用程序时效果很好,flutter run
但是当我尝试使用以下方法测试小部件时flutter test test/widget_test.dart
:
void main() {\n testWidgets('Testing', (WidgetTester tester) async {\n // Build our app and trigger a frame.\n await tester.runAsync(() async {\n await tester.pumpWidget(MyApp());\n await …
Run Code Online (Sandbox Code Playgroud)