测试文本小部件中的子字符串

S.D*_*.D. 6 dart flutter

通常要查找整个字符串,您可以find.text()像这样使用:

expect(find.text('text to find'), findsOneWidget);
Run Code Online (Sandbox Code Playgroud)

Text小部件中查找子字符串怎么样?假设有 的文本'text to find',我们只是想检查它'to'Text小部件的一部分。

Mul*_*dec 8

通过使用find.byWidgetPredicate,您可以指定自己的验证谓词,从而检查您想要的所有内容,例如文本的子字符串。

例如:

expect(find.byWidgetPredicate((widget) {
  if (widget is Text) {
    final Text textWidget = widget;
    if (textWidget.data != null)
      return textWidget.data.contains('mySubstr');
    return textWidget.textSpan.toPlainText().contains('mySubstr');
  } 
  return false;
}), findsOneWidget);
Run Code Online (Sandbox Code Playgroud)