我正在尝试测试,但是还没有弄清楚如何访问Widget的build
成员。
使用以下小部件:
class LinkButton extends StatelessWidget {
LinkButton({Key key}): super(key: key);
@override
MaterialButton build(BuildContext context) {
return MaterialButton(
onPressed: () => print('test'),
child: Text('test button'),
elevation: 0,
padding: EdgeInsets.all(0),
splashColor: Colors.transparent,
highlightColor: Colors.transparent,
);
}
}
如何从测试中测试splashColor
属性?现在这就是我所拥有的:
testWidgets('LinkButton has a text', (WidgetTester tester) async {
await tester.pumpWidget(LinkButton());
final buttonFinder = find.widgetWithText(LinkButton, 'test button');
expect(buttonFinder, findsOneWidget);
var button = buttonFinder.evaluate().single.widget;
print(button);
});
这使我可以访问一个LinkButton
对象,该对象没有属性splashColor
。我尝试过强制转换as MaterialButton
,但它告诉我LinkButton
当然不是MaterialButton
的子类型。
我还没有找到合适的文档,有人知道如何做吗?