Доступ к членам объекта build в виджете из тестов во Flutter - PullRequest
0 голосов
/ 29 мая 2019

Я пробую свои силы в тестах, но мне не удалось выяснить, как получить доступ к 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.

Мне не удалось найти соответствующую документацию по этому вопросу, кто-нибудь знает, как это сделать?

...