如何在Flutter with Patrol中测试这个手势检测器?

hrysbysz  于 2023-03-31  发布在  Flutter
关注(0)|答案(1)|浏览(131)

在我的应用程序中,小部件树是DeleteItemGestureDetector-〉InvoiceTotalWidget-〉ItemListWidget -〉ListView -〉EditInvoiceClass
我试着用PatrolTest

await $(#InvoiceTotal).$(#DeleteItem).scrollTo().tap();
$.pumpAndSettle;

来测试DeleteItem手势检测器但我得到了一个异常

WaitUntilVisibleTimeoutException (TimeoutException after 0:00:10.000000: Finder exactly one widget with key \[\<'DeleteItem'\>\] that has ancestor(s) with key \[\<'InvoiceTotal'\>\] (ignoring all but first) (ignoring offstage widgets): GestureDetector-\[\<'DeleteItem'\>\](startBehavior: start, dependencies: \[MediaQuery, \_ScrollableScope\]) did not find any visible widgets)

我想知道为什么DeleteItem GestureDetector是不可见的?我如何解决这个问题?
我的Flutter代码附在下面。
一个一个二个一个一个一个三个一个一个一个一个一个四个一个
我已经尝试将这个按钮的位置移到ListView的前面,以确保按钮已经生成,但这仍然不能使按钮可见。

vyswwuz2

vyswwuz21#

尝试将密钥const Key('EnterNaturalNum')添加到Text小部件本身,而不是GestureDetector
或者,您可以尝试将GestureDetector.behavior设置为HitTestBehavior.opqaue。

相关问题