从Flutter中的测试访问Widget的“ build”对象的成员

时间:2019-05-29 13:22:00

标签: flutter flutter-test

我正在尝试测试,但是还没有弄清楚如何访问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的子类型。

我还没有找到合适的文档,有人知道如何做吗?

0 个答案:

没有答案