我正在寻找一种方法来查看我在测试中找到的小部件,里面有特定的文本。在我的例子中,我想寻找特定的文本,而不是在完整的RadioButtonGroup
中,而是在找到的ElevatedButton
--〉firstButton
中。这可能吗?
testWidgets('Horizontal Radio Group builds a Row', (tester) async {
await tester.pumpWidget(
Directionality(
textDirection: TextDirection.ltr,
child: simpleRadio
));
expect(find.byType(Row), findsOneWidget);
expect(find.byType(Column), findsNothing);
var optionButtons = find.byType(ElevatedButton);
expect(optionButtons, findsNWidgets(2));
ElevatedButton firstButton = tester.firstWidget(optionButtons);
});
查找类似以下内容:expect(firstButton.findByText('bla'), findsOneWidget);
2条答案
按热度按时间mnemlml81#
我认为您要查找的是widgetWithText,它将查找
widgetType
的一个小部件,该小部件具有包含给定文本的Text
后代。以你为例,比如:
7kqas0il2#
可以使用
Finder#descendant
,在其文档中举例说明