2016-12-14 64 views
1

例如,我可能在目前的widget树一个富文本,看起来像有没有一种简单的方法可以在Flutter测试中查找由RichText构建的特定文本?

new RichText(
text: new TextSpan(
    text: 'Hello ', 
    style: DefaultTextStyle.of(context).style, 
    children: <TextSpan>[ 
    new TextSpan(text: 'bold', style: new TextStyle(fontWeight: FontWeight.bold)), 
    new TextSpan(text: ' world!'), 
    ], 
), 
) 

我尝试使用find.text('Hello bold world!'),但它不工作,因为它不是一个文本。

回答

2

最简单的解决方法是在RichText上放一个键,然后读取它。

如果这不适合任何原因,可以使用find.byWidgetPredicate并传递一个匹配RichText小部件的函数,其text.toPlainText()返回所需的字符串。

+0

谢谢!我喜欢第二种解决方案。 –

相关问题