У меня есть фрагмент кода, который создает виджеты «Таблица текста», например:
return Table(
defaultColumnWidth: FixedColumnWidth(120.0),
children: <TableRow>[
TableRow(
children: <Widget>[Text('toffee'), Text('potato')],
),
TableRow(
children: <Widget>[Text('cheese'), Text('pie')],
),
],
);
Я хочу проверить, что первым пунктом в таблице действительно является слово «ириска». Я настроил свой тест и дошел до этой части:
var firstCell = find
.descendant(
of: find.byType(Table),
matching: find.byType(Text),
)
.evaluate()
.toList()[0].widget;
expect(firstCell, 'toffee');
Это определенно не работает, потому что firstCell
имеет тип Widget, который не равен String toffee
.
Я вижу только функцию toString()
, например:
'Text("toffee", inherit: true, color: Color(0xff616161), size: 16.0,
textAlign: left)'
Как извлечь свойство text
, чтобы получить слово toffee
?
Сейчас кажется, что все, что я могу сделать, - это проверить, что .toString().contains('toffee')
, что не идеально.