gpt4 book ai didi

flutter - 如何在 flutter 测试中模拟 onDoubleTap

转载 作者:行者123 更新时间:2023-12-04 07:43:39 26 4
gpt4 key购买 nike

我正在尝试编写 flutter 测试并模拟双选项卡。但我无法设法找到方法。
这是我现在所做的:

void main() {
testWidgets('It should trigger onDoubleTap', (tester) async {
await tester.pumpWidget(MaterialApp(
home: GestureDetector(
child: const Text('button'),
onDoubleTap: () {
print('double tapped');
},
),
));

await tester.pumpAndSettle();
await tester.tap(find.text('button')); // <- Tried with tester.press too
await tester.tap(find.text('button')); // <- Tried with tester.press too
await tester.pumpAndSettle();
});
}
当我运行测试时,这是我得到的:
00:03 +1: All tests passed!                                                                                              
但我没有看到任何 double tapped在控制台中。

如何触发双击?

最佳答案

解决方法是等待kDoubleTapMinTime两个水龙头之间。

void main() {
testWidgets('It should trigger onDoubleTap', (tester) async {
await tester.pumpWidget(MaterialApp(
home: GestureDetector(
child: const Text('button'),
onDoubleTap: () {
print('double tapped');
},
),
));

await tester.pumpAndSettle();
await tester.tap(find.text('button'));
await tester.pump(kDoubleTapMinTime); // <- Add this
await tester.tap(find.text('button'));
await tester.pumpAndSettle();
});
}
我收到了 double tapped在控制台中:
double tapped
00:03 +1: All tests passed!

关于flutter - 如何在 flutter 测试中模拟 onDoubleTap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67311602/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com