小编pmi*_*ara的帖子

如何测试自定义SearchDelegate?

我正在尝试测试我的习惯SearchDelegate。示例测试将检查在有多少个字符后它开始给出建议。

\n\n

我编写了两个示例测试,它们以某种方式相互影响。它们都是相同的,但是当我一起运行它们时,代码中后面出现的测试总是失败。

\n\n

在调试时,我发现FutureBuilder方法buildSuggestions不会等待searchEngine.search(query)未来完成,但它只发生在第二次测试中。

\n\n

我已经尝试在点击搜索图标后添加一个test.runAsyncwith Future.delayedinside 。另外,我简化了案例以使其更具可读性。

\n\n

您可以在这里找到完整的代码:https://github.com/pmiara/search-delegate-test-fail \也可以在下面查看。

\n\n

申请代码:

\n\n
import \'dart:convert\';\n\nimport \'package:flutter/material.dart\';\nimport \'package:flutter/services.dart\';\n\nclass Entity {\n  final String value;\n\n  Entity.fromJson(Map<String, dynamic> json) : value = json[\'value\'];\n}\n\nclass MySearchDelegate extends SearchDelegate {\n  final MySearchEngine searchEngine;\n\n  MySearchDelegate({@required this.searchEngine});\n\n  @override\n  List<Widget> buildActions(BuildContext context) {\n    return [];\n  }\n\n  @override\n  Widget buildLeading(BuildContext context) {\n    return IconButton(\n      icon: Icon(Icons.arrow_back),\n      onPressed: () {\n        close(context, null);\n      },\n    );\n  }\n\n  @override\n  Widget buildResults(BuildContext …
Run Code Online (Sandbox Code Playgroud)

dart flutter flutter-test

7
推荐指数
0
解决办法
1118
查看次数

标签 统计

dart ×1

flutter ×1

flutter-test ×1