小编Ali*_*yre的帖子

flutter测试无法输入文字

我一直在尝试测试一个元素,当按下 IconButton 时,文本对象会更改为 TextFormField。当我尝试测试这个时,我收到以下错误:

A Timer is still pending even after the widget tree was disposed.
'package:flutter_test/src/binding.dart': Failed assertion: line 672 pos 7:
'_fakeAsync.nonPeriodicTimerCount == 0'
Run Code Online (Sandbox Code Playgroud)

尽管小部件没有使用我知道的任何计时器?

示例代码:

await tester.tap(find.byType(IconButton));
await tester.pump();

expect(find.byType(TextFormField), findsOneWidget);
await tester.pump();
await tester.enterText(find.byType(EditableText), "0.2");
Run Code Online (Sandbox Code Playgroud)

我真的不确定是什么导致了问题,但如果我删除最后两行,它就可以正常运行(尽管我无法实际测试我的输入)。

testing dart flutter flutter-test

10
推荐指数
2
解决办法
8231
查看次数

Flutter 驱动程序滚动下拉列表

我想滚动浏览下拉列表作为颤动驱动程序测试的一部分,但我似乎无法确切地弄清楚我将如何做到这一点?

我尝试过使用ValueKey,也尝试过深入研究 Intellij 中的 Flutter Inspector,但到目前为止还没有运气。

flutter

5
推荐指数
1
解决办法
2583
查看次数

dart会自动确定要使用的地图类型吗?

我正在研究一些与下面的示例非常相似的代码,它总是按顺序解析,尽管从未指定我想要对地图对象进行排序.

Map<String, Map<String, int>> map = {
  "a" : {"value": 1, "price": 2},
  "c" : {"value": 3, "price": 8},
  "x" : {"value": 2, "price": 1},
  "b" : {"value": 1, "price": 8},
};
map.forEach((name, map) => print(map));
Run Code Online (Sandbox Code Playgroud)

这总是导致

a
c
x
b
Run Code Online (Sandbox Code Playgroud)

注意:这就是我想要它做的事情,我只是在寻找解释为什么它以这种方式做事,因为更好地理解为什么会很有趣.

dart

3
推荐指数
1
解决办法
571
查看次数

标签 统计

dart ×2

flutter ×2

flutter-test ×1

testing ×1