Flutter 颤振测试扩展EditableText小部件上的enterText“;错误状态:无元素“:构建可编辑文本以供参考
我有一个扩展EditableText的类,它提供样式化的编辑-颜色跨度等等 父窗口小部件有一个bool标志来使用默认TextInput或扩展EditableText的自定义标志 对于默认测试,测试工作正常:Flutter 颤振测试扩展EditableText小部件上的enterText“;错误状态:无元素“:构建可编辑文本以供参考,flutter,testing,dart,mention,Flutter,Testing,Dart,Mention,我有一个扩展EditableText的类,它提供样式化的编辑-颜色跨度等等 父窗口小部件有一个bool标志来使用默认TextInput或扩展EditableText的自定义标志 对于默认测试,测试工作正常: final String dummyDesc = 'dummy desc'; final Finder mention = find.byType(Mention); await tester.enterText(mention, dummyDesc); 但是,如果我在使用自定义输入的页面
final String dummyDesc = 'dummy desc';
final Finder mention = find.byType(Mention);
await tester.enterText(mention, dummyDesc);
但是,如果我在使用自定义输入的页面上执行相同的操作,测试将失败,因为它找不到TextInput,因为没有TextInput
错误:
错误状态:无元素
如何在扩展EditableText的小部件上使用enterText?还是类似的?这似乎是由于
showKeyboard
方法在内部调用了enterText
:
它检查查找程序是否匹配或是EditableText
的后代,后者根据runtimeType进行匹配
这有点不成熟,但您可以提供一个runtimeType getter,它返回EditableText
,并允许它工作
class Mention extends EditableText {
// ...
Type get runtimeType => EditableText;
// ...
}
警告:这意味着您将无法再查找.byType(提及)
。您可以通过编写自定义查找器或使用谓词查找器find.byElementPredicate((Element-Element)=>Element.widget)
来解决这个问题